Errori
In caso di errore, verrà restituito un corpo della risposta di errore di 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 tua 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 valore |
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, segui questi passaggi:
|
404 | NOT_FOUND |
Per questo servizio è richiesto HTTPS. | Assicurati di inviare 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 che hai configurato nella console di Google Cloud. Questo limite viene in genere impostato come richieste al giorno, richieste per 100 secondi e richieste per 100 secondi per utente. Questo limite deve essere configurato per evitare che un singolo o un piccolo gruppo di utenti esaurisca la quota giornaliera, pur consentendo un accesso ragionevole a tutti gli utenti. Consulta la pagina relativa alla limitazione dell'utilizzo delle API per configurare questi limiti. |
Backoff esponenziale
Se le richieste non vanno a buon fine, assicurati di riprovare con il backoff esponenziale. Ad esempio, se una richiesta non va a buon fine una volta, riprova dopo un secondo. Se non viene completata di nuovo, riprova dopo due secondi, quattro secondi e così via. Ciò garantisce che le richieste inaccessibili o gli errori su larga scala non inondino i server di Google, dato che molti client cercano di riprovare le richieste molto rapidamente.
Domande frequenti sulla risoluzione dei problemi
Problemi di implementazione
- Con quale frequenza devo campionare la posizione del mio veicolo?
- Ogni 1-10 secondi è consigliato per risultati di alta qualità da agganciare alla 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 latitudine/longitudine agganciate?
- Per assicurarti 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 a 7 cifre decimali di precisione.
- Posso utilizzare le 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 oppure sono presenti intervalli vuoti nei percorsi agganciati. Come posso correggerlo?
-
- Se esegui il campionamento dei punti a intervalli prestabiliti, assicurati che i punti siano campionati a intervalli più brevi (ogni 1-10 secondi). Se viene utilizzato un intervallo più lungo (ad esempio 60 secondi), l'algoritmo Snap-to-Road potrebbe non essere in grado di determinare le strade percorse con sufficiente precisione.
- Se fai clic manualmente su una mappa per creare punti, è molto facile creare percorsi con pochi punti o punti sparsi che l'algoritmo di aggancio non gestisce bene. L'algoritmo di aggancio funziona al meglio per i punti ravvicinati. Prova la demo di Snap to Road o utilizza lo strumento di controllo delle strade per testare i percorsi.
- Perché i percorsi agganciati sono frastagliati o leggermente distanti dalla strada quando aumento lo zoom?
-
- Stai troncando la precisione delle coppie latitudine/longitudine agganciate prima di visualizzarle? L'archiviazione delle coppie latitudine/longitudine agganciate a una precisione inferiore a sette cifre decimali provoca errori di precisione quando il percorso agganciato viene visualizzato sulla mappa.
- Utilizzi polilinee codificate? Le polilinee codificate troncano le coppie latitudine/longitudine a cinque cifre decimali, il che introduce un errore di diversi metri, generando linee frastagliate o leggermente fuori strada a livelli di zoom elevati.
Se nessuna delle situazioni precedenti è il caso, i riquadri della mappa potrebbero essere stati aggiornati di recente e, di conseguenza, non essere sincronizzati con l'indice della strada utilizzato per l'aggancio. Se solo alcune delle tue query sono interessate, questa potrebbe essere la causa. Poiché Google Maps viene aggiornato regolarmente, questa situazione può verificarsi di tanto in tanto e può verificarsi più spesso se osservi regolarmente i vecchi percorsi su una mappa (ad esempio, i percorsi creati diverse settimane prima). Per una visualizzazione ottimale, devi riagganciare i vecchi percorsi poco prima di mostrarli su una mappa, al fine di ridurre al minimo le incoerenze tra i riquadri della mappa e l'indice della strada utilizzato per l'aggancio.
- Perché il limite di velocità della strada X potrebbe non essere visualizzato correttamente?
- I limiti di velocità provengono da diverse fonti che variano per precisione e copertura.
Se noti che un pattern, ad esempio i limiti di velocità per un determinato tipo di strada o
in una determinata area, è costantemente errato, procedi nel seguente modo per comunicarcelo:
- Apri Google Maps sul computer OPPURE sul computer OPPURE apri l'app Google Maps per Android.
- Apri il menu laterale a sinistra.
- Seleziona Invia feedback. Nota: è possibile che ti venga richiesto di accedere.
- 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 agganciato taglia angoli invece di seguire la strada?
-
Per risolvere il problema, verifica quanto segue:
- Assicurati che il parametro
interpolate
sia impostato sutrue
. - Verifica che i punti di dati originali siano campionati a intervalli sufficientemente vicini (ogni 1-10 secondi).
- Assicurati che il parametro
- Perché vengono restituiti molti tratti di strada nel percorso agganciato per una strada senza modifiche ai limiti di velocità?
- Quando il parametro
interpolate
è impostato sutrue
, la query di allineamento alla strada restituisce una polilinea che segue la strada intorno a angoli, curve e rotonde. Se la strada si curva, vengono restituiti più tratti di strada anche se il limite di velocità non cambia, in modo da creare una polilinea che segue da vicino la geometria della strada.