Errori
In caso di errore, verrà restituito un corpo della risposta di errore in 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
: è uguale 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 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 sul 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 è obbligatorio 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 perché sono stati raggiunti i limiti delle richieste del progetto. | Hai superato il limite di richieste che hai configurato nella console di Google Cloud Platform. Questo limite viene in genere 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 utente o a un piccolo gruppo di utenti di esaurire la quota giornaliera, consentendo comunque un accesso ragionevole a tutti gli utenti. Consulta Limitazione dell'utilizzo dell'API per configurare questi limiti. |
Backoff esponenziale
Quando le richieste non vanno a buon fine, devi assicurarti di riprovare con backoff esponenziale. Ad esempio, se una richiesta non va a buon fine una volta, riprova dopo un secondo, se non va a buon fine di nuovo, riprova dopo due secondi, poi quattro secondi e così via. In questo modo si garantisce che le richieste non funzionanti o gli errori su larga scala non sovraccarichino i server di Google, in quanto molti client tentano di ripetere le richieste molto rapidamente.
Domande frequenti sulla risoluzione dei problemi
Problemi di implementazione
- Con quale frequenza devo campionare la posizione del mio veicolo?
- È consigliabile un intervallo di 1-10 secondi per ottenere risultati di snap-to-road di alta qualità.
- 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 coppie di latitudine/longitudine istantanee?
- Per garantire che i percorsi agganciati seguano le strade a tutti i livelli di zoom, anche a quello massimo, devi memorizzare le coppie di latitudine/longitudine agganciate con una precisione di 7 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 comporta un errore di circa 2 metri. Pertanto, le polilinee codificate non sono adatte se vuoi che i percorsi agganciati seguano la strada a livelli di zoom elevati.
Problemi comuni
- Alcuni punti non vengono agganciati o ho dei vuoti nei percorsi agganciati. Come posso correggere questo errore?
-
- Se campioni i punti a intervalli di tempo, 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 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 snapping non gestisce bene. L'algoritmo di snapping funziona meglio per i punti vicini tra loro. Prova la demo Snap to Roads o utilizza lo strumento di ispezione delle strade per testare i tuoi percorsi.
- Perché i miei percorsi agganciati sono irregolari o leggermente fuori strada quando ingrandisco?
-
- Stai troncando la precisione delle coppie latitudine/longitudine acquisite prima di visualizzarle? L'archiviazione di coppie di latitudine/longitudine allineate con una precisione inferiore a 7 cifre decimali causa errori di precisione quando il percorso allineato viene visualizzato sulla mappa.
- Utilizzi polilinee codificate? Le polilinee codificate troncano le coppie di latitudine/longitudine a 5 cifre decimali, il che introduce un errore di diversi metri, con conseguenti linee frastagliate o leggermente fuori strada a livelli di zoom elevati.
Se non si verifica nessuno dei casi precedenti, è possibile che i riquadri della mappa siano stati aggiornati di recente, causando la mancata sincronizzazione con l'indice stradale utilizzato per l'aggancio. Se solo alcune delle tue query sono interessate, è probabile che questa sia la causa. Poiché Google Maps viene aggiornato regolarmente, questo può accadere occasionalmente e può verificarsi più spesso se guardi regolarmente vecchi percorsi su una mappa (ad esempio, percorsi acquisiti diverse settimane fa). Per una visualizzazione ottimale, devi riposizionare i vecchi percorsi appena prima di mostrarli su una mappa, in modo da ridurre al minimo le incongruenze tra i riquadri della mappa e l'indice stradale utilizzato per il posizionamento.
- Cosa potrebbe causare la visualizzazione errata del limite di velocità per la strada X?
- I limiti di velocità provengono da diverse fonti che variano in termini di precisione e copertura.
Se noti un pattern, ad esempio limiti di velocità per un particolare tipo di strada o
in una particolare area che sono costantemente errati, segui questi passaggi
per comunicarcelo:
- Apri Google Maps sul computer o l'app Google Maps per Android.
- Apri il menu laterale a sinistra.
- Seleziona Invia feedback. Nota: potrebbe esserti chiesto di accedere.
- Seleziona Modifica la mappa.
- Seleziona il segmento stradale che vuoi modificare.
- Seleziona Avanti.
- Nel campo "Altro", indica che il limite di velocità è errato per quella strada.
- Seleziona Invia.
- Perché il percorso agganciato taglia gli angoli anziché seguire la strada?
-
Per risolvere il problema, verifica quanto segue:
- Assicurati che il parametro
interpolate
sia impostato sutrue
. - Verifica che i punti dati originali vengano campionati a intervalli sufficientemente ravvicinati (ogni 1-10 secondi).
- Assicurati che il parametro
- Perché nel percorso agganciato per una strada senza variazioni del limite di velocità vengono restituiti molti segmenti stradali?
- Quando il parametro
interpolate
è impostato sutrue
, la query di allineamento alla strada restituisce una polilinea che segue la strada in corrispondenza di angoli, curve e rotonde. Se la strada è curva, vengono restituiti più segmenti stradali anche se il limite di velocità non cambia, in modo da creare una polilinea che segue da vicino la geometria della strada.