Rota matrisi alma

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çin condition. 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.