开发 HarmonyOS NEXT 地图SDK 开发指南 地图计算工具 距离测量

距离测量 最后更新时间: 2026年05月26日

此功能可以在不请求驾车出行路线规划接口的同时完成距离计算。目前支持直线距离和驾车距离的测量。

第1步,初始化DistanceSearch

const context: Context | undefined = this.getUIContext().getHostContext()
const distanceSearch = new DistanceSearch(context!);

第2步,设置数据回调监听

distanceSearch.setDistanceSearchListener({
      onDistanceSearched: (distanceResult: DistanceResult, errorCode: number) => {
        if (errorCode === AMapException.CODE_AMAP_SUCCESS) {

        }
      }
    });

第3步,设置搜索参数

const start0: LatLonPoint = new LatLonPoint(39.902896,116.42792);
const start1: LatLonPoint = new LatLonPoint(39.865208,116.378596);
const start2: LatLonPoint = new LatLonPoint(39.894914,116.322062);
const start3: LatLonPoint = new LatLonPoint(39.945261,116.352994);
const dest: LatLonPoint = new LatLonPoint(39.902896, 116.42792);

//设置起点和终点,其中起点支持多个
const latLonPoints: ArrayList<LatLonPoint> = new ArrayList<LatLonPoint>();
latLonPoints.add(start0);
latLonPoints.add(start1);
latLonPoints.add(start2);
latLonPoints.add(start3);

const distanceQuery = new DistanceQuery();
distanceQuery.setOrigins(latLonPoints);
distanceQuery.setDestination(dest);
distanceQuery.setType(DistanceSearch.TYPE_DRIVING_DISTANCE);

第4步,发送请求

 distanceSearch.calculateRouteDistanceAsyn(distanceQuery);

第5步,接收数据

在 DistanceSearch对象的setDistanceSearchListener方法中,设置OnDistanceSearchListener回调监听,处理距离测量结果。返回的信息中您可以获得预估的直线或驾车路线距离。

说明:

  1. 可以在回调中解析distanceResult,距离测量结果
  2. distanceResult.getDistanceResults()可以获取到DistanceItem列表,距离测量结果详细信息可参考 DistanceItem 类。
  3. 返回结果成功或者失败的响应码。1000为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)

效果事例图:

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