开发 Maps SDK for Android Guides Utility Library Distance Matrix

Distance Matrix 最后更新时间: 2026年07月02日

Distance measurement is supported starting from Search SDK version 6.1.0. This feature allows you to calculate distances without making a request to the driving route planning API. Currently, both straight-line distance and driving distance are supported.

Before You Begin

Before using the distance measurement feature, ensure you have:

- Downloaded the Map SDK

- Imported the Search SDK JAR file

Note: Starting from Map SDK V4.1.3, the SDK no longer provides overlays under the com.amap.api.maps.overlay package. These overlays have been open-sourced in the official demo.

Step 1: Initialize the DistanceSearch Object

Create a DistanceSearch instance in your activity or fragment.

distanceSearch = new DistanceSearch(this);

Step 2: Set the Data Callback Listener

Register a listener to receive distance measurement results.

distanceSearch.setDistanceSearchListener(this);

Step 3: Configure the Search Parameters

Create a DistanceSearch.DistanceQuery object and set the origin points, destination, and measurement type.

LatLonPoint start = new LatLonPoint(39.90403, 116.407525);
LatLonPoint start1 = new LatLonPoint(39.90000, 116.407525);
LatLonPoint start2 = new LatLonPoint(38.540103, 76.978787);
LatLonPoint start3 = new LatLonPoint(10.90000, 116.407525);
LatLonPoint dest = new LatLonPoint(39.90455, 116.407555);

// Set the origin points (multiple origins are supported)
List<LatLonPoint> latLonPoints = new ArrayList<LatLonPoint>();
latLonPoints.add(start);
latLonPoints.add(start1);
latLonPoints.add(start2);
latLonPoints.add(start3);
distanceQuery.setOrigins(latLonPoints);

// Set the destination
distanceQuery.setDestination(dest);

// Set the measurement type: straight-line or driving distance
distanceQuery.setType(DistanceSearch.TYPE_DRIVING_DISTANCE);

Step 4: Send the Request

Call the calculateRouteDistanceAsyn() method on the DistanceSearch object to perform the distance calculation.

distanceSearch.calculateRouteDistanceAsyn(distanceQuery);

Step 5: Handle the Response

Implement the OnDistanceSearchListener interface and override the onDistanceSearched() callback method to process the distance measurement results.

@Override
public void onDistanceSearched(DistanceResult distanceResult, int errorCode) {
    // Parse the result to get distance measurement data
    // Refer to the official demo for detailed implementation
}

Response Details

- Result parsing: Use distanceResult.getDistanceResults() to obtain a list of DistanceItem objects. Each DistanceItem contains detailed distance measurement information.

- Error codes: A response code of 1000 indicates success. Any other value indicates failure. For a complete list of error codes, refer to the *Error Code Reference* in the Developer Guide.

DistanceResult Parameters

Name

Meaning

Rule Description

distanceResults

List of distance measurement results

Returns a list of DistanceItem objects

DistanceItem

Distance measurement details

Contains origin, destination, and distance value

返回顶部 示例中心 常见问题 智能客服 公众号 高德开放平台公众号二维码 开放平台 扫码关注官方公众号