HarmonyOS 使用定位偶现m_singleLocation is nullptr导致定位失败
一个使用位置的业务场景,使用定位,偶现拿不到位置,并伴随"m_singleLocation is nullptr!"日志异常。日志输出如下:
07-16 14:54:11.762 32196-32196 C02300/Locator_standard E [(GenerateCompleteContext:456)]m_singleLocation is nullptr!
- 1.
一开始出现在三方库中,以为是三方库的问题,遂自己使用原生接口实现,概率降低,但仍会出现(常出现在第一次进入该页面)。
调用位置相关代码如下:
async updateLocation(){
let isAuth = await AuthUtil.checkPermissions('ohos.permission.APPROXIMATELY_LOCATION') && await AuthUtil.checkPermissions('ohos.permission.LOCATION');
if (!isAuth) {
//获取用户授权
let code = await AuthUtil.reqPermissionsList(['ohos.permission.APPROXIMATELY_LOCATION', 'ohos.permission.LOCATION']);
if (!code) {
//授权失败
return
}
}
//解析定位
let current = await geoLocationManager.getCurrentLocation({
scenario: geoLocationManager.LocationRequestScenario.DAILY_LIFE_SERVICE,
maxAccuracy: 0,
timeoutMs: 1000
});
let reverseGeocodeRequest:geoLocationManager.ReverseGeoCodeRequest = {"latitude": current.latitude, "longitude": current.longitude, "maxItems": 1};
try {
let result :geoLocationManager.GeoAddress[] = await geoLocationManager.getAddressesFromLocation(reverseGeocodeRequest)
if (result){
//获取到位置信息
this.positionStr = result[0]?.placeName || ''
this.hasGetPos = true
let des:string[] | undefined =result[0]?.descriptions
let streetCode : string = des?.[1] || ''
if (streetCode.length >0) {
let areaCode:string = streetCode.slice(0, 6);
//请求水印信息,包括天气等
let getWaterInfoReq :GetWaterInfoApi = new GetWaterInfoApi(areaCode,this.positionStr)
this.waterInfo = await getWaterInfoReq.getWaterInfo()
console.error("水印信息:"+JSON.stringify(this.waterInfo))
}
}
} catch (err) {
console.error("errCode:" + JSON.stringify(err));
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 定位功能定位失败问题
1689浏览 • 1回复 待解决
HarmonyOS 内网环境定位失败
876浏览 • 1回复 待解决
HarmonyOS 获取定位失败问题
986浏览 • 1回复 待解决
HarmonyOS context getApplicationContext偶现崩溃
792浏览 • 1回复 待解决
startAbility调用失败如何定位
1504浏览 • 1回复 待解决
精度优先获取定位失败
2735浏览 • 1回复 待解决
HarmonyOS 上架审核页面偶现获取用户列表失败提示
957浏览 • 1回复 待解决
HarmonyOS 接口返回偶现空字段
567浏览 • 1回复 待解决
HarmonyOS 申请定位权限失败问题
1244浏览 • 1回复 待解决
HarmonyOS media.AVPlayer偶现报错
798浏览 • 1回复 待解决
HarmonyOS 定位失败 错误码3301200:
826浏览 • 1回复 待解决
HarmonyOS 获取定位一直失败
914浏览 • 1回复 待解决
HarmonyOS 使用安全控件保存视频偶现弹出无相册权限
487浏览 • 1回复 待解决
HarmonyOS 偶现app图标显示错误
904浏览 • 1回复 待解决
HarmonyOS 如何区分定位获取失败具体原因
1819浏览 • 1回复 待解决
Web加载失败问题定位定界指导
807浏览 • 1回复 待解决
HarmonyOS 视频播放偶现 5400106 错误码
852浏览 • 1回复 待解决
HarmonyOS 请求定位获取地理位置,获取失败
1251浏览 • 1回复 待解决
HarmonyOS ArkTS调C++ 偶现方法找不到。
1372浏览 • 1回复 待解决
HarmonyOS 使用定位库获取定位时海拔高度字段无值
856浏览 • 1回复 待解决
HarmonyOS Webview页面偶现画面缩放异常,未占满全屏
863浏览 • 1回复 待解决
HarmonyOS web获取定位异常,获取不到定位信息
887浏览 • 1回复 待解决
router.back调用时,偶现app自动退出
2368浏览 • 1回复 待解决
HarmonyOS 定位服务
773浏览 • 1回复 待解决
m_singleLocation is nullptr导致定位失败,可以参考一下这个链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/errorcode-geolocationmanager-V5#section3301200-定位失败未获取到定位结果
同时,精度似乎设置的有问题,当scenario为DAILY_LIFE_SERVICE/NO_POWER或者priority为LOW_POWER/FIRST_FIX时,建议设置maxAccuracy为大于100的值,建议修改一下,可以参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-geolocationmanager-V5#locationrequest