Varsayılan olarak, ara yol işaretleri teslim alma ve bırakma için durma noktası olarak kullanılır ancak bir ara yol işaretinin sadece geçiş için kullanılacağını da belirtebilirsiniz.
Başlangıç noktası, geçiş ara noktası ve hedef ara nokta içeren bir rota, ara noktadan (via
) geçerken kalkış noktası ile varış noktasını bağlayan tek bir rota ayağı içerir.
Ara noktanın via
özelliğini, Waypoint (REST) veya Waypoint (gRPC) kullanarak true
olarak ayarlayarak ara noktayı geçiş ara noktası olacak şekilde yapılandırın.
via
özelliğinin en etkili olduğu durum, kullanıcının harita üzerindeki ara noktaları sürüklemesine yanıt olarak rota oluştururken geçerlidir. Böylece, kullanıcı son rotanın gerçek zamanlı olarak nasıl görünebileceğini görebilir ve ara noktalarının Compute Rotaları tarafından erişilebilen konumlara yerleştirilmesine yardımcı olur.
Aşağıdaki örnekte, bir ara yol noktasının geçiş yolu olarak nasıl işaretleneceği gösterilmektedir.
{ "location": { "latLng": { "latitude":37.419734, "longitude":-122.0827784 } }, "via": true }
Ara yol işaretleri için yer kimliklerine erişme
Bir başlangıç, varış veya ara yol işaretinin konumunu adres dizesi veya Artı Kodu olarak belirtirseniz API, ilgili yer kimliğine sahip en alakalı konumu bulmaya çalışır. Sonuçlardaki geocodingResults.intermediates
dizisi, konumla ilgili ek verilerle birlikte referans noktaların konumuna karşılık gelen yer kimliğini içerir.
intermediates
dizisinin her bir öğesi için, istekteki hangi ara yol işaretinin yanıttaki yer kimliğine karşılık geldiğini belirlemek üzere intermediateWaypointRequestIndex
mülkünü kullanın.
Örneğin:
Bir istekte üç ara yol noktası belirtirsiniz. Bu ara noktalardan ikisi adres dizeleriyle, biri ise enlem/boylam koordinatlarıyla belirtilir.
Sonuçlarda
geocodingResults
dizisini döndürmeyi belirtmek için yanıt alanı maskesinegeocodingResults
eklersiniz.
curl -X POST -d '{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "24 Willie Mays Plaza, San Francisco, CA 94107" }, "intermediates": [ { "address": "450 Serra Mall, Stanford, CA 94305, USA" }, { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } }, { "address": "1836 El Camino Real, Redwood City, CA 94063" } ], "travelMode": "DRIVE", }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,geocodingResults' 'https://routes.googleapis.com/directions/v2:computeRoutes'
Yanıt, başlangıç, varış ve üç yol noktasından ikisinin yer kimliğini içeren geocodingResults
dizisini içerir. Bunlar, isteğin 0 ve 2. dizinindeki yol işaretleridir. İsteğin 1. dizinindeki ara nokta, enlem/boylam koordinatları kullanılarak belirtildiği için yanıttaki geocodingResults
dizisinden çıkarılır.
{ "routes": [{...}], "geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ "premise" ], "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g" }, "destination": { "geocoderStatus": {}, "type": [ "premise" ], "placeId": "ChIJI7ES6tl_j4ARVpDZoXbWAiY" }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": 0, "type": [ "street_address" ], "placeId": "ChIJvdLMGyq7j4ARScE5tWX_C0Y" }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": 2, "type": [ "premise" ], "placeId": "ChIJkTc0GKajj4AR9UMsOSHwGD0" } ] } }