美文网首页
2019-07-24

2019-07-24

作者: 十字_c37f | 来源:发表于2019-07-24 18:00 被阅读0次

    使用vue-cli框架创建的项目,微信公众号来获取当前的坐标位置,去百度地图申请你的ak,在index.html中引入两个js,在build/webpack.base.conf.js下配置百度地图,(自动获取)

    在module.exports下创建一个新的externals对象,引用BMap

    在index.html中引入两个js一个是微信的sdk一个是百度的sdk,两个js都是引入线上的

    在百度的后面放置你们申请的ak

    在mian.js只需要把你的微信js给声明一下,作为一个全部变量,截图为给截取全部,下面还需要一个Vue.use(wx)给生命

    实现代码,单页面配置,你们可以运用组件


    getaddress() {

          const params = {

            url: "http://nuoche.miyuke.com/" // 此处的路径为你访问地址的路径,如果错误百度地图无法授权

          };

          getlocationcity(params).then(res => { // 此处的getlocationcity方法是后台提供的,里面有你微信配置的字段

            var that = this;

            var getMsg = res.data.data;

            wx.config({

              debug: false, //生产环境需要关闭debug模式  测试环境下可以设置为true  可以在开发者工具中查看问题

              appId: getMsg.appId, //appId通过微信服务号后台查看

              timestamp: getMsg.timestamp, //生成签名的时间戳

              nonceStr: getMsg.nonceStr, //生成签名的随机字符串

              signature: getMsg.signature, //签名

              // url:getMsg.url,//

              // rawString:getMsg.rawString,

              jsApiList: [

                //需要调用的JS接口列表

                "getLocation" //获取定位

              ]

            });

            wx.error(function() {

              console.log("出错了");

            });

            wx.ready(function() { // 微信的起始配置

              wx.getLocation({

                type: "wgs84",

                success: function(res) {

                  // console.log(res);

                  // debugger;

                  this.pointY = res.latitude; // 纬度

                  this.pointX = res.longitude; // 经度

                  let lng = ""; // 百度经度

                  let lat = ""; // 百度纬度

                  var convertor = new BMap.Convertor();

                  var ggPoint = new BMap.Point(this.pointX, this.pointY);

                  var pointArr = [];

                  pointArr.push(ggPoint);

                  convertor.translate(pointArr, 1, 5, data => {

                    console.log(this);

                    if (data.status == 0) {

                      lng = data.points[0].lng;

                      lat = data.points[0].lat;

                      console.log("百度经度", +lng);

                      console.log("百度纬度", +lat);

                      var point = new BMap.Point(lng, lat);

                      var geoc = new BMap.Geocoder();

                      geoc.getLocation(point, rs => {

                        console.log(this);

                        var addComp = rs.addressComponents;

                        that.city =

                          addComp.province +

                          "-" +

                          addComp.city +

                          "-" +

                          addComp.district;

                        console.log(this.city);

                        console.log(

                          addComp.province + // 省

                            ", " +

                            addComp.city +  // 市

                            ", " +

                            addComp.district + // 区或县

                            ", " +

                            addComp.street + // 所属街道

                            ", " +

                            addComp.streetNumber // 牌号

                        );

                      });

                    }

                  });

                }

              });

            });

          });

        }

    相关文章

      网友评论

          本文标题:2019-07-24

          本文链接:https://www.haomeiwen.com/subject/endfrctx.html