持续定位首次定位之后间隔很久才开始二次定位
=====================

#### 问题现象

位置信息请求参数[LocationRequest](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-geolocationmanager#locationrequest)指定优先级类型priority为LocationRequestPriority.ACCURACY，scenario取值UNSET，使priority参数生效，设置上报位置信息的时间间隔为1秒。

传入位置请求参数，调用[geoLocationManager.on('locationChange')](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-geolocationmanager#geolocationmanageronlocationchange)开启位置变化订阅，并在回调函数中打印定位信息，查看打印内容，发现首次定位后间隔20秒左右才打印二次定位信息，没有按照设置1秒间隔进行打印，之后信息打印正常。

问题代码示例参考如下：

let requestInfo: geoLocationManager.LocationRequest \= {
  'priority': geoLocationManager.LocationRequestPriority.ACCURACY, _// 精度优先_
  'scenario': geoLocationManager.LocationRequestScenario.UNSET,
  'timeInterval': options.intervalTime || 1,
  'distanceInterval': options.spacing || 0,
  'maxAccuracy': 0
}

geoLocationManager.on('locationChange', requestInfo, (location) \=\> {
  locationChange(location) _//_ _处理location数据_
  console.warn(\`pcb callback ${JSON.stringify(location)}\`)
});

#### 解决方案

位置请求中位置信息优先级类型(LocationRequestPriority)为精度优先(ACCURACY)，该定位精度优先策略主要以GNSS定位技术为主，但是在GNSS提供稳定位置结果之前会使用网络定位技术提供服务。

这两种定位模式允许的最小时间间隔不同，GNSS定位时为1秒，网络定位时为20秒，当设置值小于最小间隔时，以最小时间间隔生效；所以导致初始时使用的是网络定位时间间隔大概是20秒，在GNSS提供稳定位置结果后时间间隔大概是1秒。在持续定位过程中，如果超过30秒无法获取GNSS定位结果则使用网络定位技术。

对设备的硬件资源消耗较大，功耗较大。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/bd/v3/o6lVGYHDSAujPfxBQeJ22Q/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260709T134320Z&HW-CC-Expire=86400&HW-CC-Sign=95B28F532DFFD4E181A5D4A83632B4FCE819953D4AA0FAABC58BB21AA2A92626)

用户处于室内场景时，会使用网络定位技术获取位置。即使在请求参数[LocationRequest](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-geolocationmanager#locationrequest)或[ContinuousLocationRequest](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-geolocationmanager#continuouslocationrequest12)设置上报时间间隔为1秒，也会20秒上报一次。在室外GNSS定位信号稳定时，会按照指定时间间隔上报。