Errori
In caso di errore, verrà restituito un corpo della risposta dell'errore nel formato standard e il codice di stato HTTP verrà impostato su uno stato di errore.
La risposta contiene un oggetto con un singolo oggetto error
con le seguenti
chiavi:
code
: corrisponde allo stato HTTP della risposta.message
: una breve descrizione dell'errore.status
: un codice di stato che indica la natura dell'errore.
Ad esempio, l'invio di un parametro placeId
non valido restituirà il seguente errore:
{ "error": { "code": 400, "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"", "status": "INVALID_ARGUMENT" } }
I possibili errori includono:
Codice | Stato | Messaggio | Risoluzione dei problemi |
---|---|---|---|
400 | INVALID_ARGUMENT |
La chiave fornita non è valida. | La chiave API non è valida o non è stata inclusa nella richiesta. Assicurati di aver incluso l'intera chiave e di aver abilitato l'API per questa chiave. |
400 | INVALID_ARGUMENT |
Il parametro "\"path\" contiene un valore non valido: ☃" | La tua richiesta contiene argomenti non validi. Le cause più probabili di questo errore sono:
Questo errore non verrà restituito se viene passato un |
403 | PERMISSION_DENIED |
La richiesta non registrata è stata bloccata. Registrati utilizzando Google Developers Console. | La richiesta è stata rifiutata per uno o più dei seguenti motivi:
Per utilizzare i prodotti Google Maps Platform, la fatturazione deve essere abilitata nel tuo account e tutte le richieste devono includere una chiave API valida. Per risolvere il problema, procedi nel seguente modo:
|
404 | NOT_FOUND |
HTTPS è obbligatorio per questo servizio. | Assicurati di inviare le richieste a
https://roads.googleapis.com/ e non a
http://roads.googleapis.com/ . |
429 | RESOURCE_EXHAUSTED |
La richiesta è stata limitata perché sono stati raggiunti i limiti per le richieste di progetto. | Hai superato il limite di richieste configurato nella console di Google Cloud. Questo limite in genere viene impostato come richieste al giorno, richieste ogni 100 secondi e richieste ogni 100 secondi per utente. Questo limite deve essere configurato in modo da impedire a un singolo gruppo o a un piccolo gruppo di utenti di esaurire la quota giornaliera, garantendo al contempo un accesso ragionevole a tutti gli utenti. Consulta la sezione Limitazione dell'utilizzo delle API per configurare questi limiti. |
Backoff esponenziale
Se le richieste non vanno a buon fine, devi assicurarti di riprovare con un backoff esponenziale. Ad esempio, se una richiesta ha esito negativo una volta, riprova dopo un secondo; se l'operazione non riesce di nuovo, riprova dopo due secondi, poi quattro secondi e così via. Questo garantisce che le richieste non funzionanti o gli errori su vasta scala non influiscano sui server di Google, in quanto molti client tentano di ritentare le richieste molto rapidamente.
Domande frequenti sulla risoluzione dei problemi
Problemi di implementazione
- Con quale frequenza devo campionare la posizione del mio veicolo?
- Si consiglia una frequenza di 1-10 secondi per ottenere risultati di alta qualità relativi allo scatto sulla strada.
- Esiste un limite al numero di punti che posso inviare per ogni query?
- Sì, una query può avere al massimo 100 punti.
- Quale livello di precisione devo utilizzare per memorizzare le coppie di latitudine/longitudine scattate?
- Per fare in modo che i percorsi agganciati seguano le strade a tutti i livelli di zoom, anche al massimo livello di zoom, devi memorizzare le coppie latitudine/longitudine agganciate con sette cifre decimali di precisione.
- Posso utilizzare polilinee codificate per visualizzare i percorsi agganciati?
- Le polilinee codificate vengono specificate solo con una precisione di cinque cifre decimali, il che genera un errore di circa 2 metri. Le polilinee codificate non sono quindi adatte se vuoi che i percorsi agganciati seguano la strada a livelli di zoom elevati.
Problemi comuni
- Alcuni punti non vengono agganciati o presentano interruzioni nei percorsi agganciati. Come posso correggerlo?
-
- Se esegui il campionamento dei punti a intervalli prestabiliti, assicurati che i punti vengano campionati a intervalli più brevi (ogni 1-10 secondi). Se viene utilizzato un intervallo più lungo (ad esempio 60 secondi), l'algoritmo di agganciamento alla strada potrebbe non essere in grado di determinare le strade percorse con una precisione sufficiente.
- Se fai clic manualmente su una mappa per creare punti, è molto facile creare percorsi con pochi punti o punti sparsi che l'algoritmo di agganciamento non gestisce bene. L'algoritmo di aggancio funziona al meglio per i punti vicini. Prova la demo di Allinea a strade o utilizza lo Strumento di controllo delle strade per verificare i percorsi.
- Perché i miei percorsi agganciati sono frastagliati o leggermente scostati dalla strada quando ingrandisco lo zoom?
-
- Stai troncando la precisione delle coppie latitudine/longitudine prima di visualizzarle? La memorizzazione di coppie latitudine/longitudine agganciate con una precisione inferiore a 7 cifre decimali, causa errori di precisione quando il percorso agganciato viene visualizzato sulla mappa.
- Utilizzi polilinee codificate? Le polilinee codificate troncano le coppie latitudine/longitudine a cinque posizioni decimali, il che comporta un errore di diversi metri, generando linee frastagliate o leggermente lontane dalla strada ad alti livelli di zoom.
Se nessuna delle condizioni precedenti è avvenuta, i riquadri della mappa potrebbero essere stati aggiornati di recente, rendendoli non sincronizzati con l'indice della strada utilizzato per l'agganciamento. Se sono interessate solo alcune query, questa potrebbe essere la causa. Poiché Google Maps viene aggiornato regolarmente, questo può accadere di tanto in tanto e può verificarsi più spesso se guardi regolarmente vecchi percorsi su una mappa (ad esempio, percorsi che sono stati agganciati diverse settimane fa). Per una visualizzazione ottimale, dovresti scattare di nuovo i vecchi percorsi appena prima di mostrarli su una mappa, in modo da minimizzare le incoerenze tra i riquadri della mappa e l'indice della strada utilizzato per l'agganciamento.
- Perché il limite di velocità sulla strada X potrebbe non essere visualizzato correttamente?
- I limiti di velocità provengono da diverse fonti che variano in termini di precisione e copertura.
Se noti un problema ricorrente, ad esempio i limiti di velocità di un determinato tipo di strada o in una determinata area, procedi nel seguente modo per comunicarcelo:
- Apri Google Maps sul tuo computer desktop OPPURE l'app Google Maps per Android.
- Apri il menu laterale a sinistra.
- Seleziona Invia feedback. Nota: è possibile che ti venga richiesto di eseguire l'accesso.
- Seleziona Modifica la mappa.
- Seleziona il tratto di strada da modificare.
- Seleziona Avanti.
- Nel campo "Altro", indica che il limite di velocità è errato per la strada.
- Seleziona Invia.
- Perché il mio percorso ritagliato taglia gli angoli invece di seguire la strada?
-
Per risolvere il problema, verifica quanto segue:
- Assicurati che il parametro
interpolate
sia impostato sutrue
. - Controlla che i punti dati originali siano campionati a intervalli sufficientemente vicini (ogni 1-10 secondi).
- Assicurati che il parametro
- Perché mi vengono restituiti molti tratti di strada nel percorso tracciato per una strada senza modifiche ai limiti di velocità?
- Quando il parametro
interpolate
è impostato sutrue
, la query aggancia alla strada restituisce una polilinea che segue la strada intorno ad angoli, curve e rotonde. Se la strada presenta curve, più segmenti di strada vengono restituiti anche se il limite di velocità non cambia, in modo da creare una polilinea che segua da vicino la geometria della strada.