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;
            }
          });
        });
      }
    }
 }

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

侧耳倾听...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值