开发 HarmonyOS NEXT 导航SDK 开发指南 定位信息 网络点导航

网络点导航 最后更新时间: 2026年05月29日

在复杂城市环境中,例如高楼密集区、高架桥下方、隧道内部等场景,GPS 卫星信号容易受到遮挡或干扰,导致定位精度下降甚至完全丢失。为保障导航服务的连续性,高德导航 SDK 提供了“网络点导航”作为补偿机制。

当系统检测到卫星信号弱或不可用时,会自动切换至基于 Wi-Fi、基站等信息的网络定位方式,确保用户仍能获得基本的路径引导服务。这种模式虽然精度低于 GNSS 定位,但可有效避免导航中断。

本功能旨在实现对“是否进入网络点导航状态”的实时感知

通过监听导航过程中的定位变化事件,判断当前是否处于网络定位状态(即 locationType === 1),并在满足条件时触发提示。

该功能主要用于开发和调试阶段的状态可视化,正式上线版本中不会保留 UI 提示。

监听定位变化事件

导航 SDK 通过 AMapNaviListener 提供定位回调接口,其中 onLocationChange 是获取实时位置信息的核心方法。

tsonLocationChange: (location: IAMapNaviLocation | null) => {
  console.log('GPS定位状态:locationType', location?.locationType);
}

判断并提示网络定位状态

在 onLocationChange 回调中增加判断逻辑,一旦识别为网络定位,则弹出临时提示用于调试。

tsonLocationChange: (location: IAMapNaviLocation | null) => {
  console.info('onLocationChange - 当前定位类型:', location?.locationType);

  if (location?.locationType === 1) {
    // 【仅测试使用】显示当前为网络定位
    promptAction.showToast({
      message: '当前为网络定位',
      duration: 100000000  // 长时间显示,便于观察
    });
  }
}

图中所示弹窗仅为测试使用

返回顶部 示例中心 常见问题 智能客服 公众号
二维码