通过传递纬度和经度打开 Apple 地图

Posted

技术标签:

【中文标题】通过传递纬度和经度打开 Apple 地图【英文标题】:Open Apple Maps by passing latitude and longitude 【发布时间】:2014-01-30 04:21:38 【问题描述】:

当用户单击链接时,我试图在我的 PhoneGap 应用程序中打开 Apple 地图。 Apple 文档中的 URL 方案类似于 http://maps.apple.com/maps?ll=51.83733,-8.3016,如果存在则打开 Apple 地图,否则重定向到 Google 地图。但是当我点击此链接时,它会打开 Google Maps Web App,并且无法返回该应用程序。

在寻找解决方案时,我发现了这个 SO 问题 - Phonegap - Open Navigation Directions in Apple Maps App 它建议使用maps: 而不是http://maps.apple.com/?q=somePlaceName。这可以正常工作并打开本机 Apple Maps 应用程序。但我想传递纬度和经度而不是地名。

我尝试使用maps?ll:51.84,-8.30,但它不起作用。

【问题讨论】:

这个问题真的和google-maps有关系吗? PhoneGap 打开谷歌地图网络视图。而且,我已经多次编辑问题,为PhoneGap添加标签并将corodva标签移到前面,但它会自动删除。 【参考方案1】:

您需要将InAppBrowser插件添加到您的项目中,并使用系统网络浏览器打开链接,该链接将自动重定向到Apple Maps:

var mapLocationUrl = 'maps.apple.com/?ll=51.84,-8.30';
var ref = window.open(encodeURI(mapLocationUrl), '_system', 'location=no');

查看官方Apple URL Scheme Reference获取完整的参数列表。

【讨论】:

嗨奈尔!如果您再次阅读我的问题,我使用的是您提到的相同 URL,但它会打开 Mobile Google Maps 网络应用程序。 希望你完全按照所写的进行尝试。我使用 ios 6.1 并使用 inAppBrowser 调用浏览器实例,它会自动重定向到苹果地图应用程序。见代码 var mapLocationUrl = 'maps.apple.com/?ll=51.84,-8.30'; var ref = window.open(encodeURI(mapLocationUrl), '_system', 'location=no'); @Nair 当我在地图上的 Safari 中打开此页面时,它工作正常并打开 Apple 地图。你是说PhoneGap应用里面的inAppBrowser? 是的,在phonegap中使用inAppBrowser API。 嗨 Nijil,我使用了 inAppBrowser,它运行良好。请更新您的答案,以便我将其标记为已接受。非常感谢!

以上是关于通过传递纬度和经度打开 Apple 地图的主要内容,如果未能解决你的问题,请参考以下文章

Apple iOS6 地图 - 目的地地址 > 显示公司名称而不是纬度/经度

如何通过地图API获得任意两个地点的距离

通过单击特定位置的地图需要纬度经度

在 Apple 地图中搜索地址

如何获得当前的纬度和经度?

通过谷歌地图获取我当前位置10公里半径内所有位置的纬度和经度(使用PHP)