Bir rotanın mesafesini ve süresini hesaplamak için Routes API'yi kullanın. birden fazla kalkış ve varış noktası belirtmek için computeRouteMatrix yöntemi (REST) veya akış ComputeRouteMatrix yöntemini (gRPC) kullanır.
Kalkış ve varış noktaları arasından her kalkış noktasında başlayan bir rotanın mesafesini ve süresini hesaplar ve her bir hedefte sona erer.
Toplu taşıma rotası matrisi alma
Toplu taşıma sırasında bir rota matrisi de hesaplayabilirsiniz. Örneğin, örnek için Toplu taşımayla ilgili rota matrisi alma konusuna bakın.
İstek sınırları
Compute Rota Matrisi yöntemleri, aşağıdaki isteği zorunlu kılar adres veya yer kimlikleri kullanan referans noktaları ve öğeler için sınırları belirleyin. Öğeler Güzergah matrisinde her bir kalkış ve varış noktası arasındaki rotaları gösterir. öğe sayısı, kaynak sayısı ile hedef sayısının çarpımıdır. Örneğin, Örneğin, 10 kaynağınız ve 10 hedefiniz varsa 100 öğeniz olur:
Öğe sayısı, rotalar için 625'ten fazla olamaz
TRANSIT
rota değil.TRANSIT
rota belirtirseniz öğe sayısı en fazla 100.TRAFFIC_AWARE_OPTIMAL
belirtirseniz öğe sayısı sayısı 100'ü aşıyor.TRAFFIC_AWARE_OPTIMAL
hakkında daha fazla bilgi için bkz. Trafik verilerinin nasıl dahil edileceğini ve eklenip eklenmeyeceğini belirtin.Kalkış noktalarını veya hedefleri adres ya da yer kimliğini kullanarak belirtirseniz, bu şekilde en fazla 50 tane belirtebilirsiniz.
Yanıt hataları
İşlem Rota Matrisi yöntemlerinin bir özelliği de hataların, döndürüldüğünden emin olun. Örneğin, isteğin biçimi bozuksa yanıtın tamamı hata içerir (örneğin, sıfır kaynağı vardır).
Ancak bir hata, yanıttaki öğelerin sayısı (örneğin, kombinasyonu) yalnızca hatası, bir hata kodu döndürür.
gRPC Akış sonuçları
ComputeRouteMatrix gRPC yöntemi bir başlangıç ve hedef listesi alır ve bir akış döndürür Her kalkış ve hedef kombinasyonuna ait rota bilgilerini içeren Sonuçlar akış olarak döndürüldüğünden, bu akışın tamamlanması için olası rota kombinasyonları, siz yolu işlemeye başlamadan önce sonuç.
Akış tarafından döndürülen öğelerin,
sipariş. Dolayısıyla, her yanıt öğesi bir origin_index
ve bir
destination_index
. İstekte belirtilen kalkış ve varış noktaları için
rota kaynağı, belirli bir öğe için origins[origin_index]
ile eşdeğerdir
ve rota hedefi destinations[destination_index]
ile eşdeğer.
Bu diziler sıfır dizine sahiptir. Kaynak ve kaynak bilgilerinin saklanması
sipariş eder.
Rota Matrisi Örnekleri Hesaplama
computeRouteMatrix uygulamasını kullanma yöntemini çağırın.
HTTP örneği
Aşağıdaki örnekte bir computeRouteMatrix
HTTP isteği gösterilmektedir. Bu örnekte
siz:
İki başlangıç noktası ve iki hedef ara nokta içeren bir dizi belirtin. Yöntem her kalkış noktasından her hedefe bir rota hesaplar. Böylece yanıt dört rota içerir.
Dizide, ilk öğe 0, ikincisi dizin 1'dedir. vb.
Bir yanıt alanı maskesi ekleyerek yanıt (REST) veya ComputeRoutesResponse (gRPC) yazın. Bu örnekte, döndürme işlemini
originIndex
,destinationIndex
,duration
,distanceMeters
,status
, ve her bir rota içincondition
. Daha fazla bilgi için bkz. Döndürülecek alanları seçin.
curl -X POST -d '{ "origins": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420761, "longitude": -122.081356 } } }, "routeModifiers": { "avoid_ferries": true} }, { "waypoint": { "location": { "latLng": { "latitude": 37.403184, "longitude": -122.097371 } } }, "routeModifiers": { "avoid_ferries": true} } ], "destinations": [ { "waypoint": { "location": { "latLng": { "latitude": 37.420999, "longitude": -122.086894 } } } }, { "waypoint": { "location": { "latLng": { "latitude": 37.383047, "longitude": -122.044651 } } } } ], "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \ 'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'
Yanıt, tüm kaynak kombinasyonları için dört olası rotayı içerir ve varış ara noktalarını gösterir.
Yanıttaki her bir rotayı belirlemek için originIndex
ve
destinationIndex
yanıt alanı var. Örneğin, originIndex
yanıt, dizinin 1. indeksindeki ara noktadan hesaplanan bir rotaya karşılık gelir
İstekteki origins
dizisi.
[ { "originIndex": 0, "destinationIndex": 0, "status": {}, "distanceMeters": 822, "duration": "160s", "condition": "ROUTE_EXISTS" }, { "originIndex": 1, "destinationIndex": 0, "status": {}, "distanceMeters": 2919, "duration": "361s", "condition": "ROUTE_EXISTS" }, { "originIndex": 1, "destinationIndex": 1, "status": {}, "distanceMeters": 5598, "duration": "402s", "condition": "ROUTE_EXISTS" }, { "originIndex": 0, "destinationIndex": 1, "status": {}, "distanceMeters": 7259, "duration": "712s", "condition": "ROUTE_EXISTS" } ]
gRPC örnekleri
Örneğin gRPC istekleri için şu örneklere bakın: Örnek gRPC isteği. Java hem Compute Rotaları hem de Compute Rota Matrisi.