微信小程序-选择经纬度

wx.chooseLocation() 获取的是腾讯地图的经纬度,可按开发需要转换为系统所用地图(百度,高德等)经纬度。
转换经纬度:https://www.cnblogs.com/czhowe/p/16423928.html
getLandmarkfun() {
    //店铺经纬度
    let that = this;
    var latitude = null,
      longitude = null;
    if (!common.isEmpty(this.data.storeInfo) && !common.isEmpty(this.data.storeInfo.landmark)) {
      var landArr = this.data.storeInfo.landmark.split(',');
      var txMapObj = common.bdMapToTxMap(landArr[0], landArr[1]); //百度地图经纬度转为腾讯地图经纬度
      latitude = txMapObj.lat;
      longitude = txMapObj.lng;
      that.getWXchooseLocation(latitude, longitude);
    } else {
      wx.getLocation({
        type: 'gcj02', //返回可以用于wx.openLocation的经纬度
        success: function (res) {
          // console.log(res)
          latitude = res.latitude;
          longitude = res.longitude;
          that.getWXchooseLocation(latitude, longitude);
        }
      })
    }
  },
  getWXchooseLocation(latitude, longitude) {
    //选择经纬度
    wx.chooseLocation({
      latitude,
      longitude,
      success: function (res) {
        // console.log(res)
        var bdMapObj = common.txMapToBdMap(res.latitude, res.longitude); //腾讯地图转百度地图经纬度
        var locationStr = that.getMapSubStr(bdMapObj.lat) + ',' + that.getMapSubStr(bdMapObj.lng); //保留经纬度小数点后6位
        that.setData({
          ['storeInfo.landmark']: locationStr,
          ['storeInfo.landmarkAddress']: res.address
        })
      },
      fail: function (res) {
        // console.log(res)
      }
    })
  },

当latitude, longitude不传时,可能定到海上去

效果如下:

 

 

 

posted @ 2022-07-18 20:21  时光独醒  阅读(5)  评论(0编辑  收藏  举报