Phonegap - 在Apple Maps App中打开导航方向

时间:2013-01-24 14:23:03

标签: javascript jquery ios cordova maps

我有两个变量 - 目标和源 - 并且,使用Phonegap,我正在尝试使用jQuery打开带有路线的外部iPhone Apple Maps应用程序。

我正在使用的代码如下:

var url = 'http://maps.apple.com/?q=daddr='+destination+'&saddr='+source;
window.location = url;

每当我点击相关按钮时,它会在应用内打开一个新视图,其中Google方向为网络视图,我无法返回原始应用。

如何使用iOS默认地图应用程序打开链接?

4 个答案:

答案 0 :(得分:24)

http://maps.apple.com/?q=更改为maps:就可以了。


注意:确保你写maps:而不是map:,而后者将运行正确的应用程序,它会在打开后立即崩溃(感谢jprofitt)

答案 1 :(得分:5)

今天,我可以使用以下网址方案的两种方式使用Cordova应用程序中的标记打开原生Apple Maps应用程序:

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,而cordova-ios版本为3.7.0。

答案 2 :(得分:4)

在我的情况下,从http://maps.apple.com/?q=更改为仅maps:?q=无法解决问题。

使用标记打开原生Apple Maps的工作方案如下:

maps://maps.apple.com/?q={latitude},{longitude}

完整的工作代码:

window.location.href = "maps://maps.apple.com/?q="+lat+","+lng;

使用iOS7.1模拟器进行测试,可能无法在以后的版本中使用。我没有机会参加考试。遗憾。

可在此处找到支持的Apple Maps参数: https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html

归功于此SO链接:Here

答案 3 :(得分:3)

代码

我在iOS 11中使用以下格式设法在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上运行。