收藏
回答

map组件使用setting没有生效,地图没有定位到对应的经纬度,setData设置,wxml有值

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug map 微信iOS客户端 7.0.18 2.14.1
h获取当前的经纬度,值已经setData了,地图没有刷新定位

location.getLocation.call(this, this.queryServiceAreaWithPoint);

function getLocation(callback) {
  var _this = this;
  return new Promise((resolve, reject) => {
    if (app.globalData.latitude && app.globalData.longitude) {
        let params = {
            lat: app.globalData.latitude,
            lng: app.globalData.longitude
        }


        if (callback) {
            callback.call(_this, params);
        } else {
            resolve(params);
        }
    } else {
        wx.getLocation({
            type: 'gcj02',
            success: (res) => {
                console.log('用户位置', res);
                let { latitude: lat, longitude: lng } = res;
                app.globalData.latitude = lat;
                app.globalData.longitude = lng;
                console.log(lat, lng);
                let params = {
                    lat: lat,
                    lng: lng
                };

                if (callback) {
                  callback.call(_this, params);
                } else {
                    resolve(params);
                }
            }
        })
    }
  })
}
queryServiceAreaWithPoint(params) {
        var _this = this;
        util.wxRequest({
            url: api.queryServiceAreaWithPoint.url,
            data: {
                lat: params.lat,
                lng: params.lng
            },
            method: 'POST',
            success: function (res) {
                let setting = _this.data.setting;
                setting.latitude = params.lat;
                setting.longitude = params.lng;


                if(res.data.data.length){
                    let markers = [];
                    res.data.data.forEach((item, index) => {
                        markers.push({
                            id:item.id,
                            latitude: item.lat,
                            longitude: item.lng,
                            iconPath: icons.spaceMarker,
                            width: 29,
                            height: 32
                        })
                    })
                    setting.markers = markers;
                    setting.includePoints = markers;
                }
                console.log(setting)
                _this.setData({
                    setting: setting
                })
                
                console.dir(res)
            }
        })
    },
最后一次编辑于  2020-12-22
回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签