对于定位到地图的中心,一开始使用的是腾讯地图的moveToLocation,处理map渲染完,自动定位(带动画moveToLocation)到地图的中心位置。(需求)
this.mapCtx = wx.createMapContext('myMap');
// 配合wx.getLocation
that.mapCtx.moveToLocation({
longitude,
latitude,
success(res) {
that.reverseGeocoder(latitude, longitude);
that.setData({ chooseLocation: undefined });
}
});
审核上线的时候发现,getLocation怎么申请不下来,于是换成了getFuzzyLocation, 模糊定位。切换之后,发现一个新问题,每次进入小程序都要重新确认两次,一次提示是getLocation授权,一次提示getFuzzyLocation授权。
这里有两个问题:
- 为什么次次进去都会重新提示授权?
- 已经把getLocation换掉了,怎么还有提示?
经过一番查阅,第一点清楚了,getSetting里的权限,getLocation和getFuzzyLocation只能生效一个。合理!
用排除法,先去掉app.json中的userLocation的permission后