Roads API restituisce il limite di velocità registrato per una determinata strada in base al segmento. Nel caso di tratti di strada con limiti di velocità variabili, il valore predefinito il limite di velocità massimo per il tratto.
La precisione dei dati sui limiti di velocità restituiti da Roads API. non possono essere garantiti. I dati forniti sui limiti di velocità non sono in tempo reale e potrebbero essere stimate, imprecise, incomplete e/o obsolete. Visualizza i dettagli di copertura per vedere le regioni in cui sono disponibili i dati sui limiti di velocità.
Richieste
Una richiesta di limiti di velocità deve essere inviata tramite HTTPS e assume la seguente forma:
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY
Utilizzo dei parametri
Parametri obbligatori
- Un parametro
path
oplaceId
.path
: un elenco di massimo 100 coppie di latitudine/longitudine che rappresentano un percorso. I valori di latitudine e longitudine devono essere separati da virgole. Le coppie latitudine/longitudine devono essere separate dal carattere della barra verticale: "|". Quando fornisci il parametropath
, l'API aggancia innanzitutto il percorso molto probabilmente la strada percorsa da un veicolo (come accade per lesnapToRoads
), determina il limite di velocità per il segmento di strada pertinente. Se non vuoi che l'API esegua l'aggancio del percorso, deve passare un parametroplaceId
come spiegato di seguito. Nell'esempio che segue mostra il parametropath
con tre coppie latitudine/longitudine:path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
.placeId
: gli ID luogo che rappresentano uno o più segmenti di strada. Assicurati che ogni ID luogo si riferisca a un tratto di strada e non a un tipo diverso del luogo. Puoi trasmettere fino a 100 ID luogo con ogni richiesta. L'API non esegue l'aggancio stradale sugli ID luogo forniti. La risposta include un limite di velocità per ogni ID luogo nella richiesta. Puoi inviare una richiestasnapToRoads
onearestRoads
per trovare gli ID luogo pertinenti e poi indicarli come input nella RichiestaspeedLimits
. L'esempio seguente mostra ParametroplaceId
con due ID luogo:placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key
: chiave API dell'applicazione. Il tuo l'applicazione deve identificarsi ogni volta che invia una richiesta Roads API includendo una chiave API in ogni richiesta. Scopri come ottenere una chiave.
Parametri facoltativi
units
: indica se restituire i limiti di velocità in chilometri o miglia per ora. Può essere impostato suKPH
oMPH
. Il valore predefinito èKPH
.
Risposte
In una risposta speedLimits
possono essere presenti i seguenti elementi:
speedLimits
: un array di metadati della strada. Ogni elemento è composto da seguenti campi:placeId
: un identificatore univoco di un luogo. Tutti gli ID luogo restituiti di Roads API corrisponderà ai tratti di strada.speedLimit
: il limite di velocità per il tratto di strada in questione.units
: restituisceKPH
oMPH
.
snappedPoints
: un array di punti agganciati. Questo array è presente solo se la richiesta conteneva un parametropath
. Ogni punto è composto da nei seguenti campi:location
: contiene i valorilatitude
elongitude
.originalIndex
: un numero intero che indica il valore corrispondente nella richiesta originale. Ogni valore nella richiesta deve essere mappato a un valore agganciato nella risposta. Questi valori sono indicizzati da0
, quindi un valore punto conoriginalIndex
di4
sarà il valore agganciato del 5° latitudine/longitudine passati al parametropath
.placeId
: un identificatore univoco di un luogo. Tutti gli ID luogo restituiti di Roads API corrisponderà ai tratti di strada. IlplaceId
può essere passato in una richiesta di limiti di velocità per determinare il limite di velocità lungo il tratto di strada.
warning_message
: una stringa contenente un avviso visibile all'utente.
Esempio di richiesta che utilizza un percorso
Questa richiesta consente di ottenere il limite di velocità per ogni tratto di strada più vicino al coppie latitudine/longitudine specificate su un percorso che attraversa Vasco da Gama ponte a Lisbona, in Portogallo.
Richiedi
https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY
Risposta
{ 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." }
Osserva il messaggio di avviso per la sparsità dei punti nella risposta riportata sopra. Se
richiedono limiti di velocità per i tratti di strada più vicini in punti arbitrari,
devi chiamare speedLimits
con gli ID luogo recuperati dal
nearestRoads
.
Esempio di richiesta che utilizza gli ID luogo
Anziché utilizzare le coppie latitudine/longitudine, puoi trasmettere gli ID luogo del
tratti di strada. Ti consigliamo di ottenere gli ID luogo per i tratti di strada utilizzando
Richieste snapToRoads
o nearestRoads
. Quando trasmetti gli ID luogo, l'API
restituisce il limite di velocità per il tratto di strada rappresentato da ciascun ID luogo. La
L'API non applica l'aggancio alla strada agli ID luogo forniti.
Nell'esempio seguente vengono richiesti i limiti di velocità per alcuni tratti di strada che attraversano il ponte Vasco da Gama a Lisbona, in Portogallo.
Richiedi
https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY
Risposta
{ "speedLimits": [ { placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE", speedLimit: 105, units: "KPH" }, { placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU", speedLimit: 70, units: "KPH" }, { placeId: "ChIJJ4vQRudkJA0RpednU70A-5M", speedLimit: 55, units: "KPH" } ] }
Suggerimenti sull'utilizzo
Per ridurre al minimo il volume di chiamate al servizio Limite di velocità, ti consigliamo il campionamento delle posizioni degli asset a intervalli di 5-15 minuti (l'esatta dipende dalla velocità di spostamento di un asset). Se un asset è stazionario, un singolo campione di posizione è sufficiente (non è necessario effettuare più chiamate).
Per ridurre al minimo la latenza complessiva, ti consigliamo di chiamare il servizio Limite di velocità una volta accumulati alcuni dati, anziché chiamare l'API ogni volta posizione di un asset per dispositivi mobili.
Perché mancano alcuni o tutti i limiti di velocità?
La causa più comune dell'assenza di speedLimits
è la richiesta di un limite di velocità
di un luogo che non è un tratto di strada.
L'esempio precedente utilizza il ponte Vasco da Gama per illustrare i concetti.
il ponte supporta la strada E90 che attraversa il Rio Tejo. Il ponte
a sua volta ha l'ID luogo ChIJUzt97ZEwGQ0RM1JzQfqoDtU. Il primo tratto di strada
nella risposta precedente fa parte della strada E90 e ha l'ID luogo
ChIJX12duJAwGQ0Ra0d4Oi4jOGE. Nella richiesta di esempio, se sostituisci la strada
ID luogo con l'ID luogo del bridge, nella risposta ci saranno solo
due limiti di velocità nell'array speedLimits
perché l'ID posizione del bridge
non si riferisce a un singolo tratto di strada. Inoltre, se nessuno dei
ID località per tratti di strada, la risposta non conterrà alcun valore
limiti di velocità.
Quando invii richieste di limiti di velocità utilizzando gli ID luogo, assicurati che ogni ID luogo
si riferisce a un tratto di strada e non a un tipo diverso di luogo. ID luoghi per
i singoli tratti di strada vengono recuperati meglio utilizzando snapToRoads
o nearestRoads
, ciascuna delle quali può restituire più ID luogo da
per una singola chiamata.