其他分享
首页 > 其他分享> > 在uni-app中调用高德地图去导航

在uni-app中调用高德地图去导航

作者:互联网

1.判断一下是不是在微信环境
2.微信环境调用微信自带的地图导航
3.h5环境跳转去高德地图

    guide() {
      let self = this;
      console.log("self.lat", self.lat, self.lng, self.partnerAddress);
      var ua = window.navigator.userAgent.toLowerCase();
      console.log("ua", ua.match(/micromessenger/i) == "micromessenger");
      if (ua.match(/micromessenger/i) == "micromessenger") {
        if (self.partnerAddress && self.partnerAddress != "") {
          // 打开内置地图
          jWeixin.openLocation({
            latitude: Number(self.lat), // 纬度,浮点数,范围为90 ~ -90
            longitude: Number(self.lng), // 经度,浮点数,范围为180 ~ -180。
            name: self.partnerAddress, // 位置名
            address: self.partnerAddress, // 地址详情说明
            scale: 24, // 地图缩放级别,整型值,范围从1~28。默认为最大
            infoUrl: "", // 在查看位置界面底部显示的超链接,可点击跳转
            fail: (error) => {
              console.log("error---", error);
            },
          });
        } else {
         console.log('暂不知道该位置',暂不知道该位置)
        }
      } else {
        if (self.partnerAddress && self.partnerAddress != "") {
          //景点位置partnerAddress 景点经纬度lng lat
          var lng = self.lng;
          var lat = self.lat;
          // 高德地图
          if (self.customBrowserVersion().android) {
            window.location.href =
              "androidamap://viewMap?sourceApplication=appname&poiname=" +
              self.partnerAddress +
              "&lat=" +
              lat +
              "&lon=" +
              lng +
              "&dev=0";
            //判断是否跳转
            setTimeout(function () {
              let hidden =
                window.document.hidden ||
                window.document.mozHidden ||
                window.document.msHidden ||
                window.document.webkitHidden;
              if (typeof hidden == "undefined" || hidden == false) {
                //调用高德地图
                window.location.href =
                  "https://uri.amap.com/marker?position=" +
                  lng +
                  "," +
                  lat +
                  "&name=" +
                  self.partnerAddress;
              }
            }, 2000);
          } else if (self.customBrowserVersion().ios) {
            window.location.href =
              "iosamap://viewMap?sourceApplication=appname&poiname=" +
              self.partnerAddress +
              "&lat=" +
              lat +
              "&lon=" +
              lng +
              "&dev=0";
            //判断是否跳转
            setTimeout(function () {
              let hidden =
                window.document.hidden ||
                window.document.mozHidden ||
                window.document.msHidden ||
                window.document.webkitHidden;
              if (typeof hidden == "undefined" || hidden == false) {
                //调用高德地图
                window.location.href =
                  "https://uri.amap.com/marker?position=" +
                  lng +
                  "," +
                  lat +
                  "&name=" +
                  self.partnerAddress;
              }
            }, 2000);
          }
        } else {
           console.log('暂不知道该位置',暂不知道该位置)
        }
      }
    },

标签:hidden,app,self,lat,window,partnerAddress,uni,lng,高德
来源: https://www.cnblogs.com/zm-0101/p/16602096.html