迁移到 Route Matrix 类

RouteMatrix 类取代了 Maps JavaScript API(旧版)的距离矩阵服务。 本页介绍了旧版距离矩阵服务与新的 JavaScript 库之间的区别,并提供了一些代码以供比较。

Distance Matrix API(旧版)与 Route Matrix 类(Beta 版)

下表比较了旧版 Distance Matrix APIRouteMatrix 类的请求参数。

距离矩阵服务(旧版) RouteMatrix(Beta 版)

必需参数

origins origins
destinations destinations

可选参数

travelMode travelMode
transitOptions transitPreference
arrivalTime arrivalTime
drivingOptions departureTimetrafficModel
unitSystem units
avoidHighwaysavoidTolls RouteModifiers

代码比较

本部分将比较两段类似的代码,以说明旧版 Distance Matrix API 与新版 RouteMatrix 类之间的区别。这些代码段展示了在每个相应 API 上发出路线请求并查看结果所需的代码。

Directions API(旧版)

以下代码使用旧版 Distance Matrix API 发出距离矩阵请求。

// Define the request.
const request = {
  origins: [{lat: 55.93, lng: -3.118}, 'Greenwich, England'],
  destinations: ['Stockholm, Sweden', {lat: 50.087, lng: 14.421}],
  travelMode: 'DRIVING',
  drivingOptions: {
    departureTime: new Date(Date.now()),
    trafficModel: 'optimistic'
  }
};

// Make the request.
service.getDistanceMatrix(request).then((response) => {
  // Display the response.
  document.getElementById("response").textContent = JSON.stringify(
    response,
    null,
    2,
  );
});
    

Route Matrix 类(Beta 版)

以下代码使用新的 Route Matrix 类发出距离矩阵请求:

// Define the request.
const request = {
  origins: [{lat: 55.93, lng: -3.118}, 'Greenwich, England'],
  destinations: ['Stockholm, Sweden', {lat: 50.087, lng: 14.421}],
  travelMode: 'DRIVING',
  departureTime: new Date(),
  trafficModel: 'optimistic'
};

// Make the request.
const response = await RouteMatrix.computeRouteMatrix(request);

// Display the response.
document.getElementById("response").setValue(JSON.stringify(response, null, 2,));