Как открыть Google Maps, когда вы нажали в любом месте на gmsmapview - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть секретная заявка. При публикации объявления вам необходимо указать свое местоположение в качестве средства просмотра. Я могу видеть отмеченное местоположение и вид карты, но отмеченное местоположение открывается только на картах Google, когда я нажимаю кнопку Google в левом нижнем углу gmsmapview. Я хочу, чтобы у пользователя была возможность открыть отмеченное местоположение на картах Google, когда он нажимает в любом месте карты. Есть ли какая-либо функция, которая обнаруживает касание в любом месте на карте.

1 Ответ

0 голосов
/ 27 апреля 2020

Этот код проверит, установлены ли карты Google. Если да, это откроет местоположение в картах, иначе откроет местоположение в сафари.

fun c mapView (_ mapView: GMSMapView, didTapAt координата: CLLocationCoordinate2D) {

    if(self.current_long != "" && self.current_lat != "")
    {
        //Add your latitude
        let lat: String = self.current_lat
        //Add your longitude
        let lon: String = self.current_long



        if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {


            UIApplication.shared.open(URL(string:"comgooglemaps://?center=\(lat),\(lon)&zoom=14&views=traffic&q=\(lat),\(lon)")!, options: [:], completionHandler: nil)

        }else{

           print("Cannot open maps")
            if let urlDestination = URL.init(string: "https://www.google.com/maps/?center=\(lat),\(lon)&zoom=14&views=traffic&q=\(lat),\(lon)"){
                UIApplication.shared.open(urlDestination, options: [:], completionHandler: nil)
            }
}
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...