如何通过网页链接在iPhone上启动谷歌地图?

29

我正在建设一个网站,其中包括地址链接和地图图片,两者都有一个指向谷歌地图的链接。

问题是,当我在iPhone上点击这些链接时,或在电子邮件中看到任何地址链接时,结果是要么打开本机的苹果地图应用程序,要么在浏览器中打开谷歌地图。 我希望每次都能打开本机的谷歌地图应用程序,最好适用于所有用户(我无法控制他们的iPhone)。

如果我在iPhone上使用Chrome应用程序,则有一个小技巧可以做到这一点: http://www.redmondpie.com/how-to-set-google-maps-for-iphone-default-app-for-opening-map-links/

但事实上,上述技巧将不会打开谷歌地图应用程序。它将在Chrome应用程序内部打开Google Maps的Web版本,然后在底部显示一个图标询问是否要打开本机应用程序。虽然比没有好,但远非理想。感激您的任何帮助。谢谢。 顺便说一句,我想不通过越狱iPhone来完成此操作 - 我正在寻找适用于其他人iPhone的解决方案。


哇,这不是我期望的答案。我猜可能没有办法了。即使谷歌说应该有一个选项在第一次尝试时始终在应用程序中打开 Google 地图链接,但我在我的 iPhone 上没有看到任何类似的东西。 https://support.google.com/gmm/answer/3006766?hl=en - Michael K
尝试使用https://dev59.com/dmEi5IYBdhLWcg3whckh进行编程,以检测Google地图iOS URL方案URL是否会打开。 - Paul Gregory
4个回答

67
你可以使用苹果的接口,当在不同的浏览器和设备上使用时会更加智能: http://maps.apple.com/?q=51.507269,-0.127695 在以下设备上点击上述URL: iPhone|iPad: 打开苹果地图应用程序 Android: 提供在Google地图应用程序或Google地图网站中打开的选择 Windows Phone: 打开Google地图移动网站 Windows 8 Desktop: 打开Google地图网站 Apple OS Desktop: 打开新的地图应用程序(Mavericks)!
获取更多信息请参见: 苹果URL方案参考

更新了 Apple URL Schemes 的链接。 - Stephen Thomas
我无法在Safari中打开本地地图。但是,使用Chrome点击链接时可以打开Google地图。 - resting
苹果原生地图在Mavericks上会自动在Chrome和Safari中打开。Firefox则会给你选择的机会。 - George Filippakos
1
伙计们,链接<a href="http://maps.apple.com/?q=New York">在我的iPhone上打开了Google地图。有人知道为什么不是原生的苹果地图吗? - Lesha Pipiev

5
打开 Google 原生应用程序,您需要输入以下内容:
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"comgooglemaps://"]];

例子:

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

这是一个使用Google地图的示例,其中“q”参数表示搜索关键词,“center”参数表示地图中心点的经纬度。

谢谢Maulik,但是我正在编写网站和Web应用程序...这似乎是本地应用程序的代码,对吗?!? - Ricardo Parker
您还可以在 ahref 标签中指定此链接 comgooglemaps://?q=Pizza&center=37.759748,-122.427135 - Maulik
更多的是,它只是用于打开本地应用程序的URL模式。 - Maulik
我在安卓手机上的Chrome和Opera浏览器中都尝试了这个,但它没有起作用。comgooglemaps协议未被识别。 - Mike
@Mike:这是针对iOS应用程序的。此URL将在iOS设备上打开Google地图应用程序。 - Maulik
显示剩余3条评论

2

我刚刚测试过这个,它能够在打开默认的苹果地图应用程序之前打开谷歌地图。


<a href="comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic">Testing Maps</a>

然而,如果删除了iOS的谷歌地图应用程序,该链接将无法打开任何内容,因为该模式不再可用并且不会回退到通用的地图链接...几乎似乎需要为iPhone的谷歌地图提供两个链接和另一个通用的苹果地图链接...


1

请看this

它适用于所有设备(对于ios / android,它将启动谷歌地图应用程序,否则将启动浏览器)。

对于其他设备,它将启动浏览器。

简单的使用案例如下:

  1. 构建通用地图URI(带编码参数)
  2. 像这样使用URL -

    window.open(mapUrl, '_system');

有关window.open的更多信息,请参见此处

我的用例需要打开现有的应用程序地图导航到另一个专用地图应用程序(最好是谷歌地图应用程序)用于ios和android设备。

我使用ionic v1 + cordova构建本机应用程序。不确定这是否适合您的用例,但希望能有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接