打开高德地图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 var uri ="androidamap://navi?sourceApplication="+app名称+"&poiname="+地址名+"&lat="+经度+"&lon="+纬度+"&dev=1&style=2";
api.openApp({
androidPkg: 'android.intent.action.VIEW',
appParam: {
lat: that.$route.query.lat,
lon: that.$route.query.lng,
dev:'0',
style:'1',
sourceApplication:api.appName
},
uri:uri,
iosUrl: 'iosamap://navi'
},function(ret,err){
if(ret){
console.log(JSON.stringify(ret))
}else{
alert("您还没有安装高德地图");
}
});
打开百度地图
1
2
3
4
5
6
7
8
9
10
11 let alls = that.bd_encrypt(经度,纬度)
var uri = 'baidumap://map/direction?destination=name:'+地址名称+'|latlng:'+alls.经度+','+alls.纬度+'&mode=driving&src=andr.cheyw';
api.openApp({
uri: uri,
iosUrl: uri
}, function(ret, err) {
console.log(JSON.stringify(err))
if(err.msg=="Application not installed" || err.msg=="未找到可执行的应用") {
alert('请先安装百度地图');
}
});
打开腾讯地图
1
2
3
4
5
6
7
8
9
10
11 let alls = that.bd_encrypt(that.$route.query.lng,that.$route.query.lat)
var uri = 'qqmap://map/routeplan?type=drive&fromcoord=CurrentLocation&to='+地址名称+'&tocoord='+alls.经度+','+alls.纬度+'&referer=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77';
api.openApp({
uri: uri,
iosUrl: uri
}, function(ret, err) {
console.log(JSON.stringify(err))
if(err.msg=='Application not installed' || err.msg=='未找到可执行的应用') {
alert('请先安装腾讯地图');
}
});
百度与腾讯需要将高德经纬度进行转换
1
2
3
4
5
6
7
8
9
10 //高德转百度坐标
bd_encrypt(gg_lng, gg_lat) {
var X_PI = Math.PI * 3000.0 / 180.0;
var x = gg_lng, y = gg_lat;
var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);
var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI);
var bd_lng = z * Math.cos(theta) + 0.0065;
var bd_lat = z * Math.sin(theta) + 0.006;
return {lat: bd_lat, lng: bd_lng }
}
此方法转载于:https://www.cnblogs.com/devan/p/10899725.html
