第一次安装应用的时候调用系统定位API失败,并且失败的时候超时时间也很长。具体错误信息如下:
{
"code": 3301200,
"message": "BusinessError 3301200: Failed to obtain the geographical location."
} 问题代码如下:
let requestInfo: geoLocationManager.CurrentLocationRequest = { 'priority': geoLocationManager.LocationRequestPriority.FIRST_FIX, 'maxAccuracy': 4 }; return geoLocationManager.getCurrentLocation(requestInfo)
从问题代码可知,参数priority值为geoLocationManager.LocationRequestPriority.FIRST_FIX,而参数maxAccuracy值为4。
根据官方文档的参数说明,系统会对比GNSS或网络定位服务上报的位置信息与应用的位置信息申请。当位置信息Location中的精度值(accuracy)小于等于应用要求的精度值(maxAccuracy)时,位置信息会返回给应用;否则系统将丢弃本次收到的位置信息。
根据官方参考文档中的参数说明,当priority设置为LOW_POWER/FIRST_FIX时,可将maxAccuracy设置大于100的值。因此这里建议将maxAccuracy的值设定为100。代码可参考getCurrentLocation接口示例代码的方式一,将其中maxAccuracy值改为100即可。