通过传递纬度和经度打开 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 地图的主要内容,如果未能解决你的问题,请参考以下文章