根據預設,中途停靠點用於停靠取貨和送貨,但您也可以指定中途停靠點僅供通過。
如果路線包含起點路線控點、通過式中途路線控點和目的地路線控點,則只會包含一個連接起點和目的地的路線路段,同時通過中途 (稱為 via) 路線控點。
如要將中繼途中的途經點設為直通途經點,請使用 Waypoint 介面,將途經點的 via 屬性設為 true。
使用者在地圖上拖曳途中的航點時,建立路線最有效的方法是使用 via 屬性。這樣一來,使用者就能即時查看最終路線,並確保途中的航點位於路線庫可存取的位置。
要求範例
下列範例要求說明如何將中途停靠點標示為直通停靠點。
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 } ] }