Невозможно запустить собственные Карты Google в приложении iOS - вместо этого открывается Safari - PullRequest
0 голосов
/ 03 июля 2018

У меня проблемы с запуском приложения Google Maps из приложения iPhone. Пока приложение установлено на устройстве, код запускает веб-версию Google Maps в Safari. С другой стороны, родное приложение Apple Maps успешно запускается.

Вот код, который я использую:

@IBAction func openMap(_ sender: Any) {
  let lat: Double = -37.8218956215849
  let long: Double = 144.9599325656891

  let appleString = "https://maps.apple.com/?daddr=\(lat),\(long)" // Apple Maps - successfully launches an app
  let googleString = "https://www.google.com/maps/dir/?api=1&destination=\(lat)%2C\(long)" // Google Maps - launches a Web version
  let selectedString: String = googleString // Change accordingly
  let url = URL(string: selectedString)!
    UIApplication.shared.open(url, options: [:], completionHandler: nil)
}

Полагаю, проблема смехотворно проста, однако я до сих пор не понял, как ее исправить.

Обновление

Даже пример Google не работает на iOS 12 Beta 2: https://developers.google.com/maps/documentation/urls/ios-urlscheme, проблема может быть связана с использованием программного обеспечения Beta.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Эта проблема, похоже, исправлена ​​в последнем выпуске iOS (12.1.2). И теперь на iPhone работает следующая ссылка:

https://www.google.com/maps/dir/Current+Location/51.5230369,-0.08225500000003194

В качестве альтернативного решения / dir api, работающего на iOs, вы можете использовать / search:

https://www.google.com/maps/search/?api=1&query={your_lat},{your_lon}

https://www.google.com/maps/search/?api=1&query=28.6139,77.2090
0 голосов
/ 04 июля 2018

Попробуйте это: щелкните правой кнопкой мыши файл info.plist и выберите открыть Исходный код . Прямо под <dict> добавьте следующие строки, и все готово!

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