我有两个变量 - 目标地址和源 - 并使用PhoneGap的,我试图使用jQuery与方向打开外部苹果iPhone的地图应用。
我使用看起来像这样的代码:
var url = 'http://maps.apple.com/?q=daddr='+destination+'&saddr='+source;
window.location = url;
每当我点击相关按钮但是,它会打开应用程序内与谷歌的方向为网页视图一个新的观点,我不能回到原来的应用程序。
如何链接与iOS的默认地图应用程序,而不是打开?
改变http://maps.apple.com/?q=
只是maps:
没有的伎俩。
注:请确保你写maps:
而不是map:
作为,而后者将运行正确的应用程序,它会立即打开后崩溃(感谢jprofitt)
今天我能够与标记从科尔多瓦应用程序同时使用如下的URL方案的打开本地苹果的地图应用:
maps://maps.apple.com/?q={latitude},{longitude}
和
maps://?q={latitude},{longitude}
在链接:
<a href="maps://maps.apple.com?q={latitude},{longitude}">
<!-- OR -->
<a href="maps://?q={latitude},{longitude}">
从JavaScript:
window.location.href = "maps://maps.apple.com/?q="+lat+","+lng;
// OR
window.location.href = "maps://?q="+lat+","+lng;
该应用iOS设备,IOS版本8.1.2,以及科尔多瓦-IOS上运行是3.7.0版。
在我的情况下,从改变http://maps.apple.com/?q=
只maps:?q=
未解决的问题。
打开本地苹果地图带有标记的工作方案如下:
maps://maps.apple.com/?q={latitude},{longitude}
完整的工作代码:
window.location.href = "maps://maps.apple.com/?q="+lat+","+lng;
与iOS7.1模拟器进行测试工作,可能会在以后的版本中不工作。 我没有机会测试。 抱歉。
支持苹果地图的参数可以在这里找到: https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html
幸得此SO链接: 这里
代码
我设法使用的iOS以下格式得到2018这个工作在iOS 11.2:
<a onclick="window.open('maps://?q=51.178847,-1.826160', '_system');">Open in Maps</a>
而在Android这个格式:
<a onclick="window.open('geo:0,0?q=51.178847,-1.826160', '_system');">Open in Maps</a>
配置权限
另外,不要忘记权限添加到您config.xml
文件,如下所示:
<allow-intent href="maps:*" />
在我的项目的geo:
打算从一开始就存在,因此我花了一段时间来弄清楚为什么这是工作在Android和iOS版没有。