Ograniczenia prędkości

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 lub placeId.
    • 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 parametr path, interfejs API najpierw przyciągnie ścieżkę do parametru najprawdopodobniej droga, którą pokonuje pojazd (podobnie jak w przypadku snapToRoads), 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ć parametr placeId w sposób opisany poniżej. Przykład poniżej pokazuje parametr path 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 lub nearestRoads aby znaleźć odpowiednie identyfikatory miejsc, a potem podać je jako dane wejściowe Żądanie speedLimits. Poniższy przykład pokazuje Parametr placeId 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 lub MPH. Domyślna wartość to KPH.

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 – zwraca KPH lub MPH.
  • snappedPoints – tablica przyciągniętych punktów. Ta tablica istnieje tylko wtedy, gdy żądanie zawierało parametr path. Każdy punkt składa się z: tych polach:
    • location – zawiera wartości latitude i longitude.
    • 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 indeksu 0, więc tag punkt z originalIndex o wartości 4 będzie przyciągniętym wartością 5. szerokość i długość geograficzną przekazywane do parametru path.
    • 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.