wx.choosePoi真机每次都是返回当前定位经纬度,跟POI选择的定位无关?
API:wx.choosePoi(Object object)
问题:wx.choosePoi真机每次选择不同位置是否都是返回当前定位经纬度,跟POI选择的定位无关?
问题复现: choosePoi 完全不同的定位,返回的是几乎与自己位置相同的经纬度。
展示的信息是choosePoi后返回的数据: name address latitude longtitude
使用方法:
// 用户是否开启定位过
const [userPoi, setUserPoi] = useState('');
// poiType:wx.choosePoitype返回的type
const [poiType, setPoiType] = useState(-1);
const [userPoiObj, setUserPoiObj] = useState(null);
wx.choosePoi({
success: function(res) {
const { type, name, city, latitude, longitude } = res;
const poi = type === 1 ? city : type === 2 ? name : undefined;
const latText = `${latitude < 0 ? '南纬: ' : '北纬: '}${Math.abs(latitude)}`;
const lgtText = `${longitude < 0 ? '西经: ' : '东经: '}${Math.abs(longitude)}`;
setUserPoi(poi);
setPoiType(type);
setUserPoiObj({ ...res, latText, lgtText });
},
fail: function(res) {
const { errMsg } = res;
if (errMsg === 'choosePoi:fail cancel') {
// Taro.showToast({ title: '取消定位', icon: 'none' });
} else {
Taro.showToast({ title: '发生错误,请重新尝试', icon: 'none' });
}
},
});
wx.openLocation({
latitude: userPoiObj?.latitude,
longitude: userPoiObj?.longitude,
});