chen

apicloud打开地图app

打开高德地图


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

发表评论

邮箱地址不会被公开。 必填项已用*标注