连续定位用于持续监听设备位置变化。调用 requestLocationUpdates() 开始定位,调用 stopRequestLocationUpdates() 停止定位。
const option: LocationClientOption = {coordType: 'bd09ll',timeInterval: 3,distanceInterval: 0,isNeedAddress: true,locationMode: 0}locationClient?.setLocOption(option)
timeInterval 的单位为秒,distanceInterval 的单位为米。应根据业务更新频率设置参数,避免过于频繁的定位请求。iOS 当前实现不使用 timeInterval,主要由系统定位策略和 distanceInterval 控制回调。
const listener: LocationListener = {onReceiveLocation: (location: Location) => {if (location.locStatusType == 1) {console.log('位置更新', location.longitude, location.latitude)} else {console.error('定位失败', location.locStatusTypeDescription)}}}locationClient?.setLocationListener(listener)function startContinuousLocation(): void {locationClient?.requestLocationUpdates()}function stopContinuousLocation(): void {locationClient?.stopRequestLocationUpdates()}
页面进入时完成隐私、AK、权限、客户端和监听器初始化;页面离开时先停止连续定位,再调用 destroy()。如需跨页面持续定位,应由应用级服务统一持有客户端,并明确管理开始、停止和销毁时机。
上一篇
下一篇