无法在iOS应用中启动本机Google地图-Safari打开

时间:2018-07-03 11:57:07

标签: ios google-maps url deep-linking openurl

我无法从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软件的使用有关。

2 个答案:

答案 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>