vue 项目中获取微信地理位置

 mounted() {
      this.wxRegister();
  },
 methods: {
    wxRegister() {
      let that = this;
      // 获取后台配置
      let nowdata = Math.round(new Date().getTime() / 1000).toString();
      let uuid = this.newuuid();
      let url = encodeURIComponent(window.location.href.split("#")[0]);
      let params = {
        noncestr: uuid,
        timestamp: nowdata,
        url: url
      };
      //这个服务调用后台的服务获取他的signature
      this.$store
        .dispatch("getWxDetail", params)
        .then(res => {
          console.log("weixinshare", res);
          let data = res.data.data; // PS: 这里根据你接口的返回值来使用
          wx.config({
            debug: false, // 开启调试模式
            appId: window.appid, // 必填,公众号的唯一标识
            timestamp: nowdata, // 必填,生成签名的时间戳
            nonceStr: uuid, // 必填,生成签名的随机串
            signature: res.data.data, // 必填,签名,见附录1
            jsApiList: [
              "uploadImage",
              "getNetworkType",
              "checkJsApi",
              "startRecord",
              "getLocation",
              "openLocation"
            ]
          });
        })
        .catch(error => {
          console.log(error, "返回错");
          this.jd = -1;
          this.wd = -1;
        });
      if (
        window.location.href.includes("localhost") ||
        window.location.href.includes("172.16.106.3")
      ) {
        that.jd = 116;
        that.wd = 39;
      } else {
        wx.ready(res => {
          wx.getLocation({
            success: function(res) {
              console.log(res, ":res");
              that.wd = res.latitude; // 纬度,浮点数,范围为90 ~ -90
              that.jd = res.longitude; // 经度,浮点数,范围为180 ~ -180。
              console.log(res, ":res", that.wd, "that.wd", that.jd, "that.jd");
              that.changemarker([that.jd, that.wd]);
              // that.map.on("load", () => {
              //   that.map.addSource("points", {
              //     type: "geojson",
              //     data: {
              //       type: "FeatureCollection",
              //       features: [
              //         {
              //           type: "Feature",
              //           geometry: {
              //             type: "Point",
              //             coordinates: [Number(that.jd), Number(that.wd)]
              //             // coordinates: [116, 39]
              //           }
              //         }
              //       ]
              //     }
              //   });
              //   that.map.addLayer({
              //     id: "points",
              //     type: "symbol",
              //     source: "points",
              //     layout: {
              //       "icon-image": "markerNow",
              //       "icon-size": 0.8,
              //       "icon-allow-overlap": true
              //     }
              //   });
              // });
            },
            cancel: function(res) {
              alert("用户拒绝授权获取地理位置");
              that.jd = -1;
              that.wd = -1;
            }
          });
        });
      }
    }
 }

 

你可能感兴趣的:(微信开发)