Varsayılan olarak, teslim almalar için durdurmada ara ara noktalar kullanılır ve görebilirsiniz. Ayrıca, ara noktanın yalnızca tek bir ara hedefin göz önünde bulundurun.
Bir kalkış referans noktası ve geçiş ara noktası içeren bir rota
bir hedef ara noktasının, müşterinin
başlangıç noktası ile varış noktasını bağlarken
(via
) ara nokta olarak adlandırılır.
Bir ara ara noktayı, geçiş noktası olacak şekilde
ikisinden birini kullanarak referans noktasının via
özelliğini true
olarak ayarlamak
Ara nokta (REST) veya
Ara nokta (gRPC).
via
özelliği en çok, şunlara yanıt olarak rota oluştururken etkilidir:
kullanıcının harita üzerinde ara noktaları sürüklemesidir. Böylece kullanıcılar
son rota gerçek zamanlı olarak görünebilir ve ara noktaların yerleştirilmesine yardımcı olur
ve Compute Rotaları tarafından erişilebilen konumlarda bulunmalıdır.
Aşağıdaki örnekte, ara bir referans noktasının bir geçiş ara noktası belirtin.
{ "location": { "latLng": { "latitude":37.419734, "longitude":-122.0827784 } }, "via": true }
Ara ara noktalar için yer kimliklerine erişme
Bir kalkış noktası, hedef veya ara ara noktanın konumunu belirtirseniz
adres dizesi veya Artı kodu olarak kullanıldığında API,
karşılık gelen yer kimliğine sahip en alakalı konum. İlgili içeriği oluşturmak için kullanılan
geocodingResults.intermediates
dizisinde, URL'nin konumuna karşılık gelen yer kimliğini
konumla ilgili ek verilerle birlikte ara noktaları göstermektir.
intermediates
dizisinin her bir öğesi için şunu kullanın:
Hangi ara öğeyi belirlemek için intermediateWaypointRequestIndex
özelliği
istekteki ara nokta, yanıttaki yer kimliğine karşılık gelir.
Örneğin:
Bir istekte üç ara ara nokta belirtirsiniz. Bunlardan ikisi ara noktalar adres dizeleriyle ve bir tane de enlem/boylam ile belirtilir koordinatlar.
Aşağıdakileri belirtmek için yanıt alanı maskesine
geocodingResults
eklersiniz: sonuçlardageocodingResults
dizisini döndürür.
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, şunun yer kimliğini içeren geocodingResults
dizisini içerir:
kalkış noktası, varış noktası ve üç ara noktanın ikisi için. Bunlar,
istek dizini 0 ve 2'deki ara noktaları içerir. Çünkü
istek enlem/boylam koordinatları kullanılarak belirtilirse
yanıttaki geocodingResults
dizisinden çıkarıldı.
{ "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" } ] } }