接着上一章的讲,获取到我们所处位置附近的poi列表时,该怎么做呢?把高德地图弄进我们的app中,然后显示巴啦啦,这样还不如直接跳转到高德,用高德打开我们刚刚选中的兴趣点,并且导航路线还自动规划好了,这多省心
要在我们的app中打开第三方app,必须引用cordova-plugin-navimap插件
cordova plugin add cordova-plugin-navimap
cordova plugin add https://github.com/mylhyl/cordova-plugin-navimap.git
在需要用到的页面ts中声明
declare let cordovaNaviMap;
失败了,也就是没有高德地图软件的话用百度,或者直接就用网页打开吧
let name = poi.name;
let loc = poi.location;
let that = this;
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if(isAndroid==true){
//android平台
cordovaNaviMap.amapRoute('amapuri://route/plan/?sourceApplication=高德地图'+
'&dlat='+loc_arr[1]+'&dlon='+loc_arr[0]+'&dname='+name+'&dev=0&t=0'
, res => {
//成功可以不处理
console.log(res);
}
, err => {
//失败
let url = "https://m.amap.com/navi/?dest="+loc+"&destName="+name+"&hideRouteIcon=1&key=cb5ef904f1218b7a09007dd3a4924756";
const browser = that.iab.create(url,"_self");
browser.show();
}
);
}
if(isiOS==true){
//ios平台
cordovaNaviMap.amapRoute('iosamap://path?sourceApplication=高德地图'+
'&dlat='+loc_arr[1]+'&dlon='+loc_arr[0]+'&dname='+name+'&dev=0&t=0'
, res => {
//成功
}
, err => {
//失败
let url = "https://m.amap.com/navi/?dest="+loc+"&destName="+name+"&hideRouteIcon=1&key=cb5ef904f1218b7a09007dd3a4924756";
const browser = that.iab.create(url,"_self");
browser.show();
}
);