HarmonyOS 鸿蒙Next 计步器应用 调用逆地理编码服务出错
HarmonyOS 鸿蒙Next 计步器应用 调用逆地理编码服务出错
官方例子的代码:
private getGeolocation: (location: geoLocationManager.Location) => void = (location: geoLocationManager.Location) => {
if (this.latitude === location.latitude && this.longitude === location.longitude) {
return;
}
this.latitude = location.latitude;
this.longitude = location.longitude;
let reverseGeocodeRequest: geoLocationManager.ReverseGeoCodeRequest = {
‘locale’: this.locale.toString().includes(‘zh’) ? ‘zh’ : ‘en’,
‘latitude’: this.latitude,
‘longitude’: this.longitude,
‘maxItems’: 1
};
geoLocationManager.getAddressesFromLocation(reverseGeocodeRequest).then(data => {
if (data[0].placeName) {
this.currentLocation = data[0].placeName;
}
}).catch((err: Error) => {
Logger.error(TAG, 'GetAddressesFromLocation err ’ + JSON.stringify(err));
});
}
用本地模拟器运行,geoLocationManager.getAddressesFromLocation这个调用总是运行到catch((err: Error) => { Logger.error(TAG, 'GetAddressesFromLocation err ’ + JSON.stringify(err)); })这报错,错误代码:3301300 错误信息:BussinessError 3301300: Reverse geocoding query failed.
这个例子本地模拟器不能正确运行吗?
3 回复
刚看了模拟器与真机的差异,X86版本的模拟器确实不支持地理逆编码和地图,不能正确运行上述例子。
为啥真机也不行呢?
HarmonyOS鸿蒙Next计步器应用调用逆地理编码服务出错,可能由多种原因引起,如API使用不当、权限未配置、网络问题或数据格式错误。请确保已正确调用地理编码API,并传入有效的经纬度数据。同时,检查应用的地理位置权限是否已开启,并在manifest中正确声明。验证网络连接是否稳定,因为地理编码服务通常需要网络支持。如果问题依旧没法解决请加我微信,我的微信是itying888。