我无法从iPhone应用程序中启动Google Maps应用程序。在设备上安装该应用程序后,该代码将在Safari中启动Web版本的Google Maps。另一方面,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软件的使用有关。
答案 0 :(得分:1)
此问题似乎已在最新的iOS版本(12.1.2)中修复。现在,以下链接可在iPhone上使用:
https://www.google.com/maps/dir/Current+Location/51.5230369,-0.08225500000003194
作为在iO上运行的/ dir api的替代解决方案,您可以使用/ 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
答案 1 :(得分:0)
尝试以下操作:右键单击info.plist
文件,然后选择打开的源代码。在<dict>
的正下方添加以下几行,您很高兴!
<key>LSApplicationQueriesSchemes</key>
<array>
<string>comgooglemaps</string>
</array>