Location Kit(位置服务):位置子系统使用多种定位技术提供服务,如GNSS定位、基站定位、WLAN/蓝牙定位(基站定位和WLAN/蓝牙定位后续统称为“网络定位技术”);通过这些定位技术,无论用户设备在室内或是户外,都可以准确地确定设备位置。
ohos.permission.LOCATION:用于获取精准位置,精准度在米级别。
ohos.permission.APPROXIMATELY_LOCATION:用于获取模糊位置,精确度为5公里。
ohos.permission.LOCATION_IN_BACKGROUND:用于应用切换到后台仍然需要获取定位信息的场景。
定位权限设置错误,仅声明了模糊定位权限,未声明精准定位权限,或者用户误操作未授予精准定位权限。
位置请求参数中的定位策略设置错误,主要以快速获取位置优先(蓝牙、基站、WLAN等网络定位方式)而非精度优先(GNSS卫星定位方式)。
设备在室内进行定位或者所在位置存在高大建筑物遮挡,导致没有GPS信号,使用网络定位,位置精度不高。
针对定位策略设置错误问题,需要将定位策略设置为精度优先,优先采用GNSS卫星定位方式。
使用CurrentLocationRequest时,配置priority为geoLocationManager.LocationRequestPriority.ACCURACY;使用SingleLocationRequest时,配置locatingPriority为geoLocationManager.LocatingPriority.PRIORITY_ACCURACY。
此场景非问题,建议根据业务场景,适当配置CurrentLocationRequest中maxAccuracy的值,当返回位置的精度大于maxAccuracy值时,则认为位置不准确,不返回位置。