uniapp跳转到第三方地图app导航

toMapAPP(latitude, longitude, name) {
      let url = "";
      if (plus.os.name == "Android") {
        //判断是安卓端
        plus.nativeUI.actionSheet(
          {
            //选择菜单
            title: "选择地图应用",
            cancel: "取消",
            buttons: [
              {
                title: "百度地图",
              },
              {
                title: "高德地图",
              },
            ],
          },
          function (e) {
            switch (e.index) {
              //下面是拼接url,不同系统以及不同地图都有不同的拼接字段
              case 1:
                url =
                  // `baidumap://map/marker?location=${latitude},${longitude}&title=${name}&coord_type=gcj02&src=andr.baidu.openAPIdemo`;
                  `baidumap://map/geocoder?src=andr.baidu.openAPIdemo&address=${name}"`;
                break;
              case 2:
                url =
                  // `androidamap://viewMap?sourceApplication=appname&poiname=${name}&lat=${latitude}&lon=${longitude}&dev=1`;
                  `androidamap://arroundpoi?sourceApplication=softname&keywords=${name}&lat=${latitude}&lon=${longitude}&dev=0`;
                break;
              default:
                break;
            }
            if (url != "") {
              url = encodeURI(url);
              //plus.runtime.openURL(url,function(e){})调起手机APP应用
              plus.runtime.openURL(url, function (e) {
                plus.nativeUI.alert("本机未安装指定的地图应用");
              });
            }
          }
        );
      } else {
        // iOS上获取本机是否安装了百度高德地图,需要在manifest里配置
        // 在manifest.json文件app-plus->distribute->apple->urlschemewhitelist节点下添加
        //(如urlschemewhitelist:["iosamap","baidumap"])
        plus.nativeUI.actionSheet(
          {
            title: "选择地图应用",
            cancel: "取消",
            buttons: [
              // 	{
              // 	title: "腾讯地图"
              // },
              {
                title: "百度地图",
              },
              {
                title: "高德地图",
              },
            ],
          },
          function (e) {
            switch (e.index) {
              // case 1:
              // 	url = `qqmap://map/geocoder?coord=${latitude},${longitude}&referer=xxx`;
              // 	break;
              case 1:
                url = `baidumap://map/geocoder?src=andr.baidu.openAPIdemo&address=${name}"`;
                break;
              case 2:
                url = `androidamap://arroundpoi?sourceApplication=softname&keywords=${name}&lat=${latitude}&lon=${longitude}&dev=0`;
                break;
              default:
                break;
            }
            if (url != "") {
              url = encodeURI(url);
              plus.runtime.openURL(url, function (e) {
                plus.nativeUI.alert("本机未安装指定的地图应用");
              });
            }
          }
        );
      }
    },

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值