открыть гугл карту в iphone не работает - PullRequest
0 голосов
/ 09 июня 2018

Я использую этот код для открытия карт Google в Swift, и он не работает.

if (UIApplication.sharedApplication().canOpenURL(NSURL(string:"comgooglemaps://")!)) {
    UIApplication.sharedApplication().openURL(NSURL(string:
        "comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic")!)
} else {
    print("Can't use comgooglemaps://");
}

Всегда отображается сообщение «Не удается использовать comgooglemaps: //»

  • Я добавил comgooglemaps в файл plist
  • Я перезапустилXcode много раз
  • Я перезагружал ноутбук
  • Я пробовал на симуляторе и реальном устройстве

Может кто-нибудь сказать мне, в чем проблема?

РЕДАКТИРОВАТЬ

файл info.plist

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>comgooglemaps</string>
        <string>googlechromes</string>
            <string>googlephotos</string>
        <string>telprompt</string>
        <string>tel</string>
        <string>http</string>
        <string>https</string>
    </array>

РЕДАКТИРОВАНИЕ2

let url1:NSURL = NSURL(string:"comgooglemaps://")!;
         let url2:NSURL = NSURL(string:"comgooglemaps://?saddr=&daddr=\(self.selectedItem.latitude),\(self.selectedItem.longitude)&directionsmode=driving")!;
         let url3:NSURL = NSURL(string:"https://www.google.com/maps?saddr=&daddr=\(self.selectedItem.latitude),\(self.selectedItem.longitude)&directionsmode=driving")!;


        if (UIApplication.sharedApplication().canOpenURL(url1))
        {
            UIApplication.sharedApplication().openURL(url2)
        } else {
            UIApplication.sharedApplication().openURL(url3)
        }

1 Ответ

0 голосов
/ 09 июня 2018

Попробуйте это

private var latitude = 30.7333
private var longitude = 76.7794

/// Open Maps Action
@IBAction func openMapsAction(_ sender: Any) {
    self.openGoogleMaps()
}

//MARK: Open Google maps
func openGoogleMaps(){
   // Open in Google Maps
   if (UIApplication.shared.canOpenURL(NSURL(string:"comgooglemaps://")! as URL))
   {
       /// Driving google map
       UIApplication.shared.open(URL.init(string: "comgooglemaps://?saddr=&daddr=\(self.latitude),\(self.longitude)&directionsmode=driving")!, options: [:], completionHandler: nil)
   }
   else
   {
       print("Can't use Google Maps");
   }
}

Необходимые ключи

 <key>LSApplicationQueriesSchemes</key>
 <array>
 <string>googlechromes</string>
 <string>comgooglemaps</string>
 </array>

Выход

enter image description here

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