Roads API zwraca opublikowane ograniczenie prędkości na danej drodze segmentację. W przypadku fragmentów drogi ze zmiennymi ograniczeniami prędkości domyślna ograniczenie prędkości dla danego odcinka jest zwracane.
Dokładność danych o ograniczeniach prędkości zwracanych przez Roads API nie można zagwarantować. Dane o ograniczeniach prędkości nie są podawane w czasie rzeczywistym i mogą być szacunkowe, niedokładne, niekompletne lub nieaktualne. Zobacz szczegóły pokrycia aby zobaczyć, w których regionach są dostępne dane o ograniczeniach prędkości.
Żądania
Żądanie ograniczenia prędkości musi być wysyłane przez HTTPS i ma postać:
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY
Wykorzystanie parametru
Parametry wymagane
- Parametr
path
lubplaceId
.path
– lista maksymalnie 100 par szerokości i długości geograficznej reprezentujących ścieżki. Długość i szerokość geograficzna muszą być rozdzielone przecinkami. Pary szerokości i długości geograficznej muszą być rozdzielone pionową kreską: „|”. Gdy podasz parametrpath
, interfejs API najpierw przyciągnie ścieżkę do parametru najprawdopodobniej droga, którą pokonuje pojazd (podobnie jak w przypadkusnapToRoads
), a następnie określa ograniczenie prędkości na danego fragmentu drogi. Jeśli nie chcesz, aby interfejs API przyciągał ścieżkę, musi przekazywać parametrplaceId
w sposób opisany poniżej. Przykład poniżej pokazuje parametrpath
z trzema parami szerokości i długości geograficznej:path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
placeId
– identyfikatory miejsc reprezentujące co najmniej 1 fragment drogi. Upewnij się, że każdy identyfikator miejsca odnosi się do fragmentu drogi, a nie do innego typu. w danym miejscu. W każdym z nich możesz przekazać do 100 identyfikatorów miejsc. użytkownika. Interfejs API nie przyciąga dróg w podanych identyfikatorach miejsc. Odpowiedź zawiera informację o ograniczeniu szybkości w przypadku każdego identyfikatora miejsca w żądaniu. Możesz wysłać prośbęsnapToRoads
lubnearestRoads
aby znaleźć odpowiednie identyfikatory miejsc, a potem podać je jako dane wejściowe ŻądaniespeedLimits
. Poniższy przykład pokazuje ParametrplaceId
z 2 identyfikatorami miejsc:placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key
– klucz interfejsu API Twojej aplikacji. Twoje aplikacja musi identyfikować się przy każdym wysłaniu żądania do Roads API, dodając klucz interfejsu API do każdego żądania. Dowiedz się, jak uzyskać klucz.
Parametry opcjonalne
units
– czy zwracać ograniczenia prędkości w kilometrach lub milach na godz. Może mieć wartośćKPH
lubMPH
. Domyślna wartość toKPH
.
Odpowiedzi
Odpowiedź speedLimits
może zawierać te elementy:
speedLimits
– tablica metadanych drogi. Każdy element składa się z tych pól:placeId
– unikalny identyfikator miejsca. Zwrócono wszystkie identyfikatory miejsc przed Roads API odpowiada fragmentom drogi.speedLimit
– ograniczenie prędkości na danym fragmencie drogi.units
– zwracaKPH
lubMPH
.
snappedPoints
– tablica przyciągniętych punktów. Ta tablica istnieje tylko wtedy, gdy żądanie zawierało parametrpath
. Każdy punkt składa się z: tych polach:location
– zawiera wartościlatitude
ilongitude
.originalIndex
– liczba całkowita, która wskazuje odpowiednią wartość. w pierwotnym żądaniu. Każda wartość w żądaniu powinna być zmapowana na w odpowiedzi. Te wartości pochodzą z indeksu0
, więc tag punkt zoriginalIndex
o wartości4
będzie przyciągniętym wartością 5. szerokość i długość geograficzną przekazywane do parametrupath
.placeId
– unikalny identyfikator miejsca. Zwrócono wszystkie identyfikatory miejsc przed Roads API odpowiada fragmentom drogi.placeId
można przekazać w żądaniu ograniczenia prędkości, aby określić ograniczenia prędkości na tym fragmencie drogi.
warning_message
– ciąg tekstowy zawierający ostrzeżenie widoczne dla użytkownika.
Przykładowe żądanie z użyciem ścieżki
To żądanie pobiera ograniczenie prędkości na każdym odcinku drogi najbliżej określone pary szerokości i długości geograficznej na ścieżce przecinającej Vasco da Gama w Lizbonie, w Portugalii.
Wyślij prośbę
https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY
Odpowiedź
{ speedLimits: [ { placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE", speedLimit: 105, units: "KPH" }, { placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU", speedLimit: 70, units: "KPH" }, { placeId: "ChIJJ4vQRudkJA0RpednU70A-5M", speedLimit: 55, units: "KPH" } ], snappedPoints: [ { location: { latitude: 38.75807927603043, longitude: -9.037417546438084 }, originalIndex: 0, placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE" }, { location: { latitude: 38.689653701836896, longitude: -9.177051486847693 }, originalIndex: 1, placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU" }, { location: { latitude: 41.13993011767777, longitude: -8.609400794783655 }, originalIndex: 2, placeId: "ChIJJ4vQRudkJA0RpednU70A-5M" } ], warningMessage: "Input path is too sparse. You should provide a path where consecutive points are closer to each other. Refer to the 'path' parameter in Google Roads API documentation." }
Zwróć uwagę na komunikat z ostrzeżeniem dotyczącym rzadszego zapotrzebowania na punkty w powyższej odpowiedzi. Jeśli
w dowolnym miejscu, w dowolnym miejscu, na najbliższym odcinku drogi,
musisz wywołać metodę speedLimits
, podając identyfikatory miejsc pobrane z
nearestRoads
.
Przykładowe żądanie z użyciem identyfikatorów miejsc
Zamiast par szerokości i długości geograficznej możesz przekazywać identyfikatory miejsc
segmentów drogi. W przypadku fragmentów drogi zalecamy uzyskanie identyfikatorów miejsc za pomocą
snapToRoads
lub nearestRoads
prośby. Przy przekazywaniu identyfikatorów miejsc interfejs API
zwraca ograniczenie prędkości na fragmencie drogi reprezentowanym przez identyfikator miejsca.
Interfejs API nie stosuje żadnych elementów przyciągających do podanych identyfikatorów miejsc.
Poniżej znajduje się przykład żądania ograniczenia prędkości na niektórych fragmentach drogi które przecinają most Vasco da Gama w Lizbonie.
Wyślij prośbę
https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY
Odpowiedź
{ "speedLimits": [ { placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE", speedLimit: 105, units: "KPH" }, { placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU", speedLimit: 70, units: "KPH" }, { placeId: "ChIJJ4vQRudkJA0RpednU70A-5M", speedLimit: 55, units: "KPH" } ] }
Rekomendacje dotyczące użycia
Aby zminimalizować liczbę połączeń z usługą Limit prędkości, zalecamy próbkowanie lokalizacji zasobów w odstępach 5-15-minutowych (dokładnie zależy od szybkości, z jaką porusza się zasób). Jeśli zasób jest nieruchome, wystarczy jedna próbka lokalizacji (nie trzeba tworzyć wielu połączeń).
Aby zminimalizować ogólny czas oczekiwania, zalecamy wywołanie usługi Limit prędkości po zebraniu danych nie musisz wywoływać interfejsu API za każdym razem, lokalizację komponentu mobilnego.
Dlaczego nie widzisz niektórych lub wszystkich ograniczeń prędkości?
Najczęstszą przyczyną braku drogi speedLimits
jest prośba o ograniczenie prędkości
miejsca, które nie jest fragmentem drogi.
W przykładzie powyżej zilustrowano koncepcje mostu Vasco da Gama.
Most obsługuje drogę E90 nad rzeką Tejo. Most
ma identyfikator miejsca ChIJUzt97ZEwGQ0RM1JzQfqoDtU. Pierwszy fragment drogi
w powyższej odpowiedzi jest częścią drogi E90 i ma identyfikator miejsca
ChIJX12duJAwGQ0Ra0d4Oi4jOGE. Jeśli w przykładowym żądaniu zastąpisz drogę
identyfikator miejsca z identyfikatorem mostu, w odpowiedzi będzie tylko identyfikator miejsca
dwa ograniczenia prędkości w tablicy speedLimits
, ponieważ identyfikator miejsca mostu
nie odnosi się do pojedynczego fragmentu drogi. Ponadto, jeśli żaden z tych elementów
identyfikatorów miejsc są związane z fragmentami drogi, odpowiedź nie będzie zawierać żadnych
ograniczeń prędkości.
Podczas przesyłania próśb o ograniczenie prędkości z użyciem identyfikatorów miejsc upewnij się, że każdy identyfikator miejsca
oznacza fragment drogi, a nie inny rodzaj miejsca. Identyfikatory miejsc dla
poszczególne fragmenty drogi najlepiej pobrać przy użyciu funkcji snapToRoads
lub żądania nearestRoads
, które mogą zwrócić wiele identyfikatorów miejsc
jedno połączenie.