迁移到 Route Matrix 类

欧洲经济区 (EEA) 开发者

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

Distance Matrix API(旧版)与 Route Matrix 类

下表比较了旧版 Distance Matrix API(旧版)和 RouteMatrix 类的请求参数。

距离矩阵服务、Maps JavaScript API(旧版) RouteMatrix 必填或可选
origins origins 必填
destinations destinations 必需
travelMode travelMode 可选
transitOptions transitPreference 可选
arrivalTime arrivalTime 可选
drivingOptions departureTime、trafficModel 可选
unitSystem units 可选
avoidHighways、avoidTolls RouteModifiers 可选

代码比较

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

Distance Matrix 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 类

以下代码使用新的 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,));