我正在开发一个phonegap/cordova应用程序。有没有办法在浏览器视图中打开手机的原生导航应用程序?或者,是否有从html5应用程序打开原生地图应用程序的最佳实践?或者它们都是特定于平台的?
我在一些地方读到,以下内容适用于某些版本的Android
<a href="geo:some address here" />Navigate to here</a>这对iOS是有效的
<a href="http://maps.apple.com/?daddr=San+Francisco,+CA&saddr=cupertino">Directions</a>我很惊讶Phonegap没有实现这样的东西。
发布于 2013-06-23 05:44:33
您可以使用神奇的“地图:”协议在iOS 5(谷歌地图)和iOS 6(苹果地图)上打开原生导航应用程序,例如window.location = "maps:daddr=50.4,-4.5"
但要在Android上启动原生的Google Navigator应用程序,你需要使用phonegap插件。我写这篇文章是为了我自己的目的。
更新插件现已针对Phonegap3.x进行了更新,并支持安卓、iOS和Windows Phone,包括在iOS上首选谷歌地图的选项。
发布于 2013-11-02 22:10:54
这个插件很棒!感谢您的分享!我在我的应用程序中尝试过,但不幸的是我的Phonegap版本是3.x,而你的插件只能在Phonegap 2.x上运行:(
所以为了让它在Phonegap 3.x上工作,我从你的github库中得到了这个插件,并做了一些修改,以便它能在3.x上工作
修改后的Phonegap3.x PhoneNavigator插件可以从我的github存储库下载:https://github.com/viktor0710/PhoneNavigator-Phonegap-3.x.git
如何将其集成到您的Phonegap 3.x项目中:
app:
G217>
使用方法:
//function declaration
function navigateTo (lat, lon, successFn, errorFn) {
cordova.require('cordova/plugin/phonenavigator').doNavigate(lat, lon, successFn, errorFn);
}
//set lat and lon variables. Most probably read them from the UI
var latitude = 48.137607;
var longitude = 11.568569;
//call function
navigateTo(
latitude,
longitude,
function(){
console.log("Successfully opened navigator");
},
function(){
console.log("Error opening navigator");
}
);发布于 2013-11-04 18:09:03
如上所述,下面的代码可以在(刚刚测试过)上运行,以打开S4地图/导航应用程序和waze:
<a href="geo:37.786971,-122.399677;u=35">Wikimedia Headquarters</a>图片来源:http://en.wikipedia.org/wiki/Geo_URI#Example
也可以在这里查看答案:https://stackoverflow.com/a/19765368/2728686
https://stackoverflow.com/questions/14286951
复制相似问题