Errori
In caso di errore, verrà restituito un corpo di risposta standard di errore 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 conteneva argomenti non validi. Le cause più probabili di questo errore sono:
Questo errore non verrà restituito se viene trasmesso 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, segui questi passaggi:
|
404 | NOT_FOUND |
Per questo servizio è richiesto l'uso di HTTPS. | Assicurati di inviare le richieste a
https://roads.googleapis.com/ e non a
http://roads.googleapis.com/ . |
429 | RESOURCE_EXHAUSTED |
La richiesta è stata limitata a causa del raggiungimento dei limiti relativi alle richieste del progetto. | Hai superato il limite di richieste configurato nella console di Google Cloud Platform. Questo limite è solitamente impostato come richieste al giorno, richieste ogni 100 secondi e richieste ogni 100 secondi per utente. Questo limite deve essere configurato per evitare che una singola persona o un piccolo gruppo di utenti esauriscano la quota giornaliera, consentendo comunque l'accesso ragionevole a tutti gli utenti. Consulta la pagina relativa all'utilizzo delle API per la compromissione per configurare questi limiti. |
Backoff esponenziale
Se le richieste non vanno a buon fine, devi assicurarti di riprovare a eseguire le richieste con backoff esponenziale. Ad esempio, se una richiesta ha esito negativo una volta, riprova dopo un secondo, in caso contrario, riprova dopo due secondi, poi quattro secondi e così via. Questo garantisce che le richieste non funzionanti o gli errori su larga scala non influiscano sui server di Google, poiché molti client tentano di riprovare molto rapidamente le richieste.
Domande frequenti sulla risoluzione dei problemi
Problemi di implementazione
- Con quale frequenza devo campionare la posizione del mio veicolo?
- Si consiglia un risultato di 1-10 secondi per ottenere risultati di alta qualità realizzati in scatto.
- Esiste un limite al numero di punti che posso inviare per query?
- Sì, una query può avere al massimo 100 punti.
- Quale livello di precisione devo utilizzare per memorizzare le mie coppie di latitudine/longitudine agganciate?
- Per assicurarti che i percorsi agganciati seguano le strade a tutti i livelli di zoom, anche al livello di zoom massimo, devi memorizzare le coppie agganciate di latitudine/longitudine con sette cifre decimali.
- Posso utilizzare le polilinee codificate per visualizzare i percorsi agganciati?
- Le polilinee codificate sono specificate solo con una precisione di 5 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 sono agganciati o ci sono lacune nei percorsi agganciati. Come faccio a risolvere il problema?
-
- Se stai campionando i 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 una precisione sufficiente.
- Se fai clic manualmente su una mappa per creare punti, è molto semplice creare percorsi con pochi punti o punti sparsi, non gestiti dall'algoritmo di agganciamento. L'algoritmo di agganciamento funziona meglio per i punti vicini. Prova la demo Snap to Roads o utilizza lo strumento di controllo delle strade per testare i tuoi percorsi.
- Perché i miei percorsi agganciati sono frastagliati o leggermente fuori strada rispetto alla strada quando aumento lo zoom?
-
- Stai troncando la precisione delle coppie latitudine/longitudine agganciate prima di visualizzarle? La memorizzazione delle coppie latitudine/longitudine agganciate con una precisione inferiore a 7 punti decimali causa errori di precisione quando il percorso troncato viene visualizzato sulla mappa.
- Usi polilinee codificate? Le polilinee codificate troncano le coppie latitudine/longitudine a cinque cifre decimali, il che introduce un errore di diversi metri che generano linee frastagliate o leggermente fuori strada dalla strada a livelli di zoom elevati.
Se nessuna delle opzioni precedenti è pertinente, i riquadri della mappa potrebbero essere stati aggiornati di recente, causando la mancata sincronizzazione dell'indice stradale utilizzato per l'aggancio. Se sono interessate solo alcune delle tue query, questa potrebbe essere la causa. Poiché Google Maps viene aggiornato regolarmente, ciò può accadere di tanto in tanto e può verificarsi più spesso se guardi regolarmente i vecchi percorsi su una mappa (ad esempio, percorsi che sono stati acquisiti diverse settimane fa). Per una visualizzazione ottimale, è necessario acquisire nuovamente i percorsi precedenti prima di mostrarli su una mappa, in modo da ridurre al minimo le incongruenze tra i riquadri della mappa e l'indice della strada utilizzato per l'aggancio.
- Quale potrebbe essere la causa della visualizzazione errata del limite di velocità per la strada X?
- I limiti di velocità provengono da diverse fonti che variano in base a accuratezza e copertura.
Se noti uno schema, ad esempio limiti di velocità per un determinato tipo di strada o per un'area specifica che presenta un errore costante, procedi nel seguente modo per comunicarcelo:
- Apri Google Maps sul computer desktop OPPURE l'app Google Maps per Android.
- Apri il menu laterale a sinistra.
- Seleziona Invia feedback. Nota: è possibile che ti venga chiesto di accedere.
- Seleziona Modifica la mappa.
- Seleziona il tratto di strada da modificare.
- Seleziona Avanti.
- Nel campo "Altro", indica che il limite di velocità non è corretto per quella strada.
- Seleziona Invia.
- Perché il mio percorso troncato taglia gli angoli invece di seguire la strada?
-
Per risolvere il problema, controlla quanto segue:
- Assicurati che il parametro
interpolate
sia impostato sutrue
. - Verifica che i punti dati originali siano campionati a intervalli abbastanza vicini (ogni 1-10 secondi).
- Assicurati che il parametro
- Perché mi vengono restituiti molti segmenti di strada nel percorso troncato per una strada senza modifiche ai limiti di velocità?
- Quando il parametro
interpolate
è impostato sutrue
, la query "Snap-to-Road" restituisce una polilinea che segue la strada attorno ad angoli, curve e rotatorie. Se le curve sono tornate, vengono restituiti più segmenti anche se il limite di velocità non cambia, per creare una polilinea che segue da vicino la geometria della strada.