Możesz obliczyć odległość i czas trwania trasy dla wielu sieci jednocześnie
miejsca wylotu i przylotu za pomocą metody ComputeRouteMatrix
preferowanego interfejsu Routes Preferred API. ComputeRouteMatrix
obsługuje
zarówno strumieniowych wywołań gRPC, jak i wywołań HTTP REST.
Dla listy par miejsca wylotu i celu podróży: ComputeRouteMatrix
oblicza odległość i czas trwania trasy, zaczynając od każdego punktu początkowego
i kończąc na każdym z miejsc docelowych. Każdy element strumienia odpowiada
do informacji o pojedynczej trasie.
Metoda ComputeRouteMatrix
ma kilka zalet w porównaniu z
Usługa macierzy odległości:
- Strumieniowanie umożliwia zwrócenie elementów przed całą matrycą co pozwoliło zmniejszyć opóźnienie.
ComputeRouteMatrix
udostępnia szczegółowe opcje obliczania ruchu, co ułatwia podejmowanie decyzji dotyczących kompromisu między jakością a opóźnieniem.- w ramach infrastruktury Google żądania są uruchamiane z wyższym priorytetem, co przekłada się na większą dostępność.
- Możesz określić kierunek (kierunek podróży) i pobocze drogi informacje o punktach pośrednich.
- Możesz poprosić o zwrot informacji o opłatach, odległość i szacowany czas dotarcia na miejsce.
Włączanie metody ComputeRouteMatrix
Zanim użyjesz w kodzie metody ComputeRouteMatrix
, musisz
włącz tę funkcję. Więcej informacji o włączaniu interfejsu Preferowany interfejs API tras
Więcej informacji można znaleźć w artykule Pierwsze kroki.
Używanie metody ComputeRouteMatrix
Metoda ComputeRouteMatrix
jest dostępna w ramach Preferowanych tras
v1.
Szczegółowe informacje znajdziesz w tej dokumentacji:
Poniższe ogólne kroki pokazują, jak używać gRPC do wywoływania
metoda ComputeRouteMatrix
:
Sprawdź niezbędne protobuffers z repozytorium googleapis:
https://github.com/googleapis/googleapis/tree/master/google/maps/routes
Pamiętaj, że niektóre systemy kompilacji, na przykład Go, mogą zrobić to automatycznie.
Korzystając z wybranego języka i zestawu narzędzi, wygeneruj odpowiednie na kod bufora proto.
Wygeneruj prośbę. Należy przesłać 2 wymagane fragmenty metadanych z prośbą:
- Wartość X-Goog-Api-Key musi być ustawiona na klucz interfejsu API.
W polu X-Goog-Fieldmask należy ustawić listę pól rozdzielonych przecinkami. których potrzebujesz w odpowiedzi. Przykład: X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. Do oznaczenia wszystkich pól możesz użyć symbolu wieloznacznego (*), ale jest to odradzamy. Użyj symbolu wieloznacznego, aby przetestować i poznać odpowiedź interfejsu API, ale jawnie wymień odpowiednie pola w masce pola. w kodzie produkcyjnym.
Więcej informacji o tworzeniu ciągu maski pola znajdziesz w sekcji https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. Wyłączenie niepotrzebnych pól może zmniejszyć opóźnienia, ponieważ te pola mogą wymagać dodatkowych obliczeń. Czas oczekiwania nie zostanie wydłużony jeśli określisz potrzebne pola i nowe pola, które wymagają więcej obliczeń.
Wyślij prośbę do
routespreferred.googleapis.com:443
.Na potrzeby protokołu TLS.
Przykłady użycia metody ComputeRouteMatrix
znajdziesz tutaj:
Obliczanie macierzy tras (beta).
Jedną z cech wyróżniających metody ComputeRouteMatrix
jest to, że
mogą być zwracane zarówno dla całego strumienia, jak i dla poszczególnych
. Na przykład połączenie strumienia zwraca błąd, jeśli żądanie
jest nieprawidłowo sformułowany (np. ma zerowe punkty początkowe). Jeśli jednak wystąpi błąd
do kilku elementów strumienia (np. przez ustawienie nieprawidłowego identyfikatora miejsca,
dla źródła), to tylko elementy, których dotyczy błąd, zawierają kody błędów.
Nie ma gwarancji, że elementy zwrócone przez strumień zostaną zwrócone
w dowolnej kolejności. Dlatego każdy element zawiera atrybut origin_index
i destination_index
. Dla określonych miejsc wylotu i przylotu
dla żądania, początek trasy jest równoważne z origins[origin_index]
i miejsce docelowe trasy jest równoważne
do: destinations[destination_index]
. Tablice te mają indeks zerowy. it
jest ważna do przechowywania kolejności miejsc na liście wylotu i miejsca docelowego.
Obliczam opłaty za przejazd
Informacje na temat obliczania opłat drogowych znajdziesz w Oblicz opłaty drogowe.
Przykłady obliczania opłat drogowych znajdziesz w Computing a Route Matrix Przykłady (Obliczanie macierzy tras).