computeRouteMatrix yöntemini (REST) veya akış ComputeRouteMatrix yöntemini (gRPC) çağırarak birden fazla başlangıç ve hedef için bir rotanın mesafesini ve süresini hesaplamak üzere Routes API'yi kullanın.
Başlangıç ve varış noktalarının listesi verildiğinde yöntem, her başlangıç noktasında başlayıp her varış noktasında sona eren bir rotanın mesafesini ve süresini hesaplar.
Toplu taşıma rotası matrisi alma
Toplu taşıma için de rota matrisi hesaplayabilirsiniz. Örnek için Toplu taşıma için rota matrisi alma başlıklı makaleyi inceleyin.
İstek sınırları
Compute Route Matrix yöntemleri, adres veya yer kimlikleri kullanan ara noktalar ve öğeler için aşağıdaki istek sınırlarını uygular. Öğeler, rota matrisindeki her başlangıç ve varış noktası arasındaki rotalardır. Bu nedenle, öğe sayısı başlangıç noktası sayısının varış noktası sayısıyla çarpımına eşittir. Örneğin, 10 başlangıç ve 10 varış noktanız varsa 100 öğeniz olur:
TRANSITrotası olmayan rotalar için öğe sayısı 625'i aşamaz.Bir
TRANSITrotası belirtirseniz öğe sayısı 100'ü aşamaz.TRAFFIC_AWARE_OPTIMALdeğerini belirtirseniz öğe sayısı 100'ü aşamaz.TRAFFIC_AWARE_OPTIMALhakkında daha fazla bilgi için Trafik verilerinin nasıl ve dahil edilip edilmeyeceğini belirtme başlıklı makaleyi inceleyin.Başlangıç veya varış noktalarını adres ya da yer kimliği kullanarak belirtirseniz bu şekilde toplamda en fazla 50 nokta belirtebilirsiniz.
Yanıt hataları
Compute Route Matrix yöntemlerinin bir özelliği, hataların tüm yanıt veya tek tek yanıt öğeleri için döndürülebilmesidir. Örneğin, istek hatalı biçimlendirilmişse (ör. sıfır kaynağa sahipse) yanıtın tamamı bir hata içerir.
Ancak hata, yanıttaki öğelerin bir alt kümesi için geçerliyse (örneğin, bir başlangıç ve varış noktası kombinasyonu için rota hesaplanamıyorsa) yalnızca hatadan etkilenen öğeler bir hata kodu döndürür.
gRPC akış sonuçları
ComputeRouteMatrix gRPC yöntemi, başlangıç ve varış noktalarının listesini alır ve her başlangıç ve varış noktası kombinasyonu için rota bilgilerini içeren bir akış döndürür. Sonuçlar akış olarak döndürüldüğünden, sonuçları işlemeye başlamak için tüm olası rota kombinasyonlarının hesaplanmasını beklemeniz gerekmez.
Akış tarafından döndürülen öğelerin belirli bir sırada döndürüleceği garanti edilmez. Bu nedenle, her yanıt öğesi bir origin_index ve bir destination_index içerir. İstekte belirtilen başlangıç ve varış noktaları için rota başlangıç noktası, belirli bir öğe için origins[origin_index] değerine, rota varış noktası ise destinations[destination_index] değerine eşdeğerdir.
Bu diziler sıfır dizinlidir. Kaynak ve hedef liste sıralarını
saklamak önemlidir.
Compute Route Matrix Örnekleri
Rota matrisi hesaplamak için HTTP isteğinde computeRouteMatrix yöntemini kullanın.
HTTP örneği
Aşağıdaki örnekte bir computeRouteMatrix HTTP isteği gösterilmektedir. Bu örnekte:
İki başlangıç ve iki hedef ara noktadan oluşan bir dizi belirtin. Yöntem, her başlangıç noktasından her varış noktasına bir rota hesaplar. Bu nedenle, yanıtta dört rota bulunur.
Dizideki ilk öğe 0 dizininde, ikinci öğe 1 dizininde yer alır ve bu şekilde devam eder.
response (REST) veya ComputeRoutesResponse (gRPC) alanlarından hangilerinin döndürüleceğini belirtmek için bir yanıt alanı maskesi ekleyin. Bu örnekte, isteği her rota için
originIndex,destinationIndex,duration,distanceMeters,statusveconditiondöndürecek şekilde yapılandırın. Daha fazla bilgi için Döndürülecek alanları seçme bölümüne bakın.
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 başlangıç ve varış noktası kombinasyonları için olası dört rotayı içerir.
originIndex ve destinationIndex yanıt alanlarını kullanarak yanıttaki her rotayı tanımlayın. Örneğin, yanıttaki 1 değerine sahip bir originIndex, istekteki origins dizisinin 1. dizinindeki ara noktadan hesaplanan bir rotaya karşılık gelir.
[ { "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
Örnek gRPC istekleri için Örnek gRPC isteği sayfasındaki örneklere bakın. Bu sayfadaki Java örneği, hem Compute Routes hem de Compute Route Matrix'i çağırır.