设置途经点

欧洲经济区 (EEA) 开发者

默认情况下,中间航点用于停靠以接送乘客,但您也可以指定中间航点仅用于通过。

如果路线包含一个起点航点、一个经停中间航点和一个目的地航点,则该路线仅包含一个连接起点和目的地的航段,同时会经过中间航点(称为 via)。

使用 Waypoint 接口将航点的 via 属性设置为 true,从而将中间航点配置为经停航点。

在响应用户拖动地图上的航点而创建路线时,via 属性最有效。这样,用户就可以实时查看最终路线,并有助于确保航点放置在 Routes 库可访问的位置。

示例请求

以下示例请求演示了如何将中间航点标记为经停航点。

const routeRequestWithVia = {
  origin: '100 Moffett Blvd, Mountain View, CA 94043',
  destination: '1199 9th Ave, San Francisco, CA 94122',
  travelMode: 'DRIVING',
  intermediates: [
    {location: 'Half Moon Bay, CA', via: true} // Set the via property to true
  ],
  fields: ['path', 'legs'],
};

// Make the request.
const {routes, fallbackInfo, geocodingResults} = await Route.computeRoutes(routeRequestWithIntermediates);
  

获取中间航点的地点 ID

如果您将起点、终点或中间航点的位置指定为地址字符串或 Plus Code,Routes 库会尝试查找具有相应地点 ID 的最相关位置。结果中的 geocodingResults.intermediates 数组包含与航点位置对应的地点 ID,以及有关该位置的其他数据。

地理编码结果响应示例

{
  "origin": {
    "geocoderStatus": "OK",
    "types": [
      "premise",
      "street_address"
    ],
    "partialMatch": false,
    "placeId": "ChIJb5NgcTa3j4ARrfF4Oc_f6q8",
    "intermediateWaypointRequestIndex": null
  },
  "destination": {
    "geocoderStatus": "OK",
    "types": [
      "premise",
      "street_address"
    ],
    "partialMatch": false,
    "placeId": "ChIJAbIPLl2HhYARQ0SSdDFxU-s",
    "intermediateWaypointRequestIndex": null
  },
  "intermediates": [
    {
      "geocoderStatus": "OK",
      "types": [
        "locality",
        "political"
      ],
      "partialMatch": false,
      "placeId": "ChIJC8sZCqULj4ARVJvnNcic_V4",
      "intermediateWaypointRequestIndex": 0
    }
  ]
}