1、由于用到了api.appInstalled来判断手机是否安装了百度和高德APP,而iOS9中系统对检测应用是否安装的方法做了限制,若想得到期望的结果,需要在config.xml里面配置可被检测的URL Scheme。此外,一定要上传代码,然后充电打包自定义loader或者测试版,才能有效果:
<preference name="querySchemes" value="iosamap,baidumap" />2、html:
<div class="branch-item flex flex-middle" tapmode @click="openmap(117.322131,31.889231,'合肥火车站')">3、下面是调用导航的js代码:
//打开地图
openmap:function(lon,lat,addr){
var systemType = api.systemType;
var buttons = new Array();
var amap_installed = false;
var bmap_installed = false;
//判断是否安装了高德和百度地图
if(systemType=='ios'){
var installed = api.appInstalled({
sync: true,
appBundle:'iosamap://'
});
if (installed) {
amap_installed = true;
buttons.push('高德地图');
}
var installed = api.appInstalled({
sync: true,
appBundle:'baidumap://'
});
if (installed) {
bmap_installed = true;
buttons.push('百度地图');
}
}else{
var installed = api.appInstalled({
sync: true,
appBundle: 'com.autonavi.minimap'
});
if (installed) {
amap_installed = true;
buttons.push('高德地图');
}
var installed = api.appInstalled({
sync: true,
appBundle: 'com.baidu.BaiduMap'
});
if (installed) {
bmap_installed = true;
buttons.push('百度地图');
}
}
if(bmap_installed==false && amap_installed==false){
api.toast({
msg:'您没有安装任何地图软件'
});
return false;
}
var address = addr;
var latbaidu = lat;
var lngbaidu = lon;
var latgaode = func.bd2gd(lon,lat).lat;
var lnggaode = func.bd2gd(lon,lat).lng;
api.actionSheet({
cancelTitle: '取消',
buttons: buttons
}, function(ret, err) {
var index = ret.buttonIndex;
if(buttons[index-1]){ //这里要排除‘取消’按钮
switch (index) {
case 1:
//t=0出行方式 0,1,2,3,4 dev是否开发模式
if(amap_installed && bmap_installed){
if(systemType=='ios'){
api.openApp({
iosUrl: 'iosamap://path?sourceApplication=applicationName&sid=BGVIS1&did=BGVIS2&dlat='+latgaode+'&dlon='+lnggaode+'&dname='+address+'&dev=0&t=0',
}, function(ret, err) {
});
}else{
api.openApp({
androidPkg: 'android.intent.action.VIEW',
uri: 'amapuri://route/plan/?dlat='+latgaode+'&dlon='+lnggaode+'&dname='+address+'&dev=0&t=0'
}, function(ret, err) {
});
}
}else{
if(amap_installed){
if(systemType=='ios'){
api.openApp({
iosUrl: 'iosamap://path?sourceApplication=applicationName&sid=BGVIS1&did=BGVIS2&dlat='+latgaode+'&dlon='+lnggaode+'&dname='+address+'&dev=0&t=0',
}, function(ret, err) {
});
}else{
api.openApp({
androidPkg: 'android.intent.action.VIEW',
uri: 'amapuri://route/plan/?dlat='+latgaode+'&dlon='+lnggaode+'&dname='+address+'&dev=0&t=0'
}, function(ret, err) {
});
}
}
if(bmap_installed){
if(systemType=='ios'){
api.openApp({
iosUrl: 'baidumap://map/direction?destination=latlng:'+latbaidu+','+lngbaidu+'|name:'+address+'&mode=riding',
}, function(ret, err) {
if (err) {
//alert(JSON.stringify(err));
}
});
}else{
api.openApp({
androidPkg: 'android.intent.action.VIEW',
uri: 'baidumap://map/direction?destination=latlng:'+latbaidu+','+lngbaidu+'|name:'+address+'&mode=riding'
}, function(ret, err) {
});
}
}
break;
}
case 2:
if(systemType=='ios'){
api.openApp({
iosUrl: 'baidumap://map/direction?destination=latlng:'+latbaidu+','+lngbaidu+'|name:'+address+'&mode=riding',
}, function(ret, err) {
if (err) {
//alert(JSON.stringify(err));
}
});
}else{
api.openApp({
androidPkg: 'android.intent.action.VIEW',
uri: 'baidumap://map/direction?destination=latlng:'+latbaidu+','+lngbaidu+'|name:'+address+'&mode=riding'
}, function(ret, err) {
if (err) {
//alert(JSON.stringify(err));
}
});
}
break;
}
}
});
},
部分素材资源来源网站,本站提供免费下载,如有侵权请联系站长马上删除!
