打开地图
openMap(){varurl ="";if(plus.os.name=="Android") {varhasBaiduMap = plus.runtime.isApplicationExist({pname:'com.baidu.BaiduMap',action:'baidumap://'});varhasAmap = plus.runtime.isApplicationExist({pname:'com.autonavi.minimap',action:'androidamap://'});varurlBaiduMap ="baidumap://map/marker?location=39.968789,116.347247&title=DCloud&src=Hello%20uni-app";varurlAmap ="androidamap://viewMap?sourceApplication=Hello%20uni-app&poiname=DCloud&lat=39.9631018208&lon=116.3406135236&dev=0"if(hasAmap && hasBaiduMap) { plus.nativeUI.actionSheet({title:"选择地图应用",cancel:"取消",buttons:[{title:"百度地图"},{title:"高德地图"}]},function(e){switch(e.index){case1: plus.runtime.openURL(urlBaiduMap);break;case2: plus.runtime.openURL(urlAmap);break; } }) }elseif(hasAmap) { plus.runtime.openURL(urlAmap); }elseif(hasBaiduMap) { plus.runtime.openURL(urlBaiduMap); }else{ url ="geo:39.96310,116.340698?q=%e6%95%b0%e5%ad%97%e5%a4%a9%e5%a0%82"; plus.runtime.openURL(url);//如果是国外应用,应该优先使用这个,会启动google地图。这个接口不能统一坐标系,进入百度地图时会有偏差 } }else{// iOS上获取本机是否安装了百度高德地图,需要在manifest里配置,在manifest.json文件app-plus->distribute->apple->urlschemewhitelist节点下添加(如urlschemewhitelist:["iosamap","baidumap"]) plus.nativeUI.actionSheet({title:"选择地图应用",cancel:"取消",buttons:[{title:"Apple地图"},{title:"百度地图"},{title:"高德地图"}]},function(e){console.log("e.index: "+ e.index);switch(e.index){case1: url ="http://maps.apple.com/?q=%e6%95%b0%e5%ad%97%e5%a4%a9%e5%a0%82&ll=39.96310,116.340698&spn=0.008766,0.019441";break;case2: url ="baidumap://map/marker?location=39.968789,116.347247&title=DCloud&src=Hello%20uni-app";break;case3: url ="iosamap://viewMap?sourceApplication=Hello%20uni-app&poiname=DCloud&lat=39.9631018208&lon=116.3406135236&dev=0";break;default:break; }if(url!="") { plus.runtime.openURL( url,function( e ){ plus.nativeUI.alert("本机未安装指定的地图应用"); }); } }) } },
网友评论