【问题标题】:Unable to launch native Google Maps within the iOS app - Safari opens instead无法在 iOS 应用程序中启动本机 Google 地图 - 而是打开 Safari
【发布时间】:2018-12-11 17:40:22
【问题描述】:

我无法从 iPhone 应用程序中启动 Google 地图应用程序。当应用程序安装在设备上时,代码会在 Safari 中启动 Web 版本的 Google 地图。另一方面,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 软件有关。

【问题讨论】:

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


【解决方案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

【讨论】:

  • 注意Google的API推荐使用/maps/search:Developer Guide | Maps URLs
  • @aloisdg 搜索可以在您需要显示特定位置的 Pin 图时进行。方向用于稍微不同的目的。但两者都可以调整到最终范围。
【解决方案2】:

试试这个:右键单击info.plist 文件并选择打开源代码。就在<dict> 正下方添加以下行,您就可以开始了!

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

【讨论】:

  • 嗨 Sanket,这似乎是 iOS 测试版的问题,而不是我构建 URL 的方式。连官方的例子都行不通。
猜你喜欢
  • 2017-12-19
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 1970-01-01
  • 2015-07-10
  • 1970-01-01
  • 2017-01-10
  • 2012-09-07
相关资源
最近更新 更多