Errori
In caso di errore, viene restituito un corpo della risposta di errore in formato standard e il codice di stato HTTP viene impostato su uno stato di errore.
La risposta contiene un oggetto con un singolo oggetto error con le seguenti chiavi:
code: è lo stesso dello 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 che hai fornito 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 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 su il tuo account e tutte le richieste devono includere una chiave API valida. Per risolvere il problema:
|
| 404 | NOT_FOUND |
Per questo servizio è richiesto 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 configurato in Google Cloud Platform Console. 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 per 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 la sezione Limitare l'utilizzo delle API per configurare questi limiti. |
Backoff esponenziale
Quando le richieste non vanno a buon fine, devi assicurarti di riprovare con il 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, le richieste interrotte o gli errori su larga scala non sovraccaricano i server di Google, poiché molti client tentano di riprovare le richieste molto rapidamente.
Domande frequenti per la risoluzione dei problemi
Problemi di implementazione
- Con quale frequenza devo campionare la posizione del mio veicolo?
- Per risultati di snap-to-road di alta qualità, è consigliabile un intervallo di 1-10 secondi.
- 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 con snap?
- Per assicurarti che i percorsi con snap seguano le strade a tutti i livelli di zoom, anche al livello di zoom massimo, devi memorizzare le coppie di latitudine/longitudine con snap con una precisione di 7 cifre decimali.
- Posso utilizzare le polilinee codificate per visualizzare i percorsi con snap?
- Le polilinee codificate sono specificate solo con una precisione di 5 cifre decimali, il che comporta un errore di circa 2 metri. Le polilinee codificate non sono quindi adatte se vuoi che i percorsi con snap seguano la strada a livelli di zoom elevati.
Problemi comuni
- Alcuni punti non vengono sottoposti a snap o i percorsi con snap presentano delle lacune. Come posso correggerlo?
-
- Se campioni i punti a intervalli di tempo, assicurati che vengano campionati a intervalli più brevi (ogni 1-10 secondi). Se viene utilizzato un intervallo più lungo (ad esempio 60 secondi), l'algoritmo di posizionamento su 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 snap non gestisce bene. L'algoritmo di snap funziona meglio per i punti vicini tra loro. Prova la demo di Snap to Roads o utilizza l'ispettore Roads per testare i tuoi percorsi.
- Perché i miei percorsi con snap sono irregolari o leggermente fuori strada quando ingrandisco?
-
- Stai troncando la precisione delle coppie di latitudine/longitudine con snap prima di visualizzarle? La memorizzazione delle coppie di latitudine/longitudine con snap con una precisione inferiore a 7 cifre decimali causa errori di precisione quando il percorso con snap 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 irregolari o leggermente fuori strada a livelli di zoom elevati.
Se non si verifica nessuno dei casi sopra indicati, è possibile che le tessere della mappa siano state aggiornate di recente, causando la mancata sincronizzazione con l'indice delle strade utilizzato per lo snap. Se sono interessate solo alcune query, è probabile che sia questa la causa. Poiché Google Maps viene aggiornato regolarmente, questo può accadere occasionalmente e più spesso se guardi regolarmente i vecchi percorsi su una mappa (ad esempio, i percorsi sottoposti a snap diverse settimane fa). Per una visualizzazione ottimale, devi eseguire di nuovo lo snap dei vecchi percorsi poco prima di mostrarli su una mappa, in modo da ridurre al minimo le incongruenze tra le tessere della mappa e l'indice delle strade utilizzato per lo snap.
- 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 riscontri un pattern, ad esempio limiti di velocità per un tipo di strada specifico o in una determinata area costantemente errati, segui questi passaggi per comunicarcelo:
- Apri Google Maps sul computer desktop O l'app Google Maps per Android.
- Apri il menu laterale a sinistra.
- Seleziona Invia feedback. Nota: potrebbe essere richiesto di accedere.
- Seleziona Modifica la mappa.
- Seleziona il segmento di strada che vuoi modificare.
- Seleziona Avanti.
- Nel campo "Altro", indica che il limite di velocità è errato per quella strada.
- Seleziona Invia.
- Perché il mio percorso con snap taglia gli angoli anziché seguire la strada?
-
Per correggere il problema, controlla quanto segue:
- Assicurati che il parametro
interpolatesia impostato sutrue. - Verifica che i punti dati originali vengano campionati a intervalli sufficientemente brevi (ogni 1-10 secondi).
- Assicurati che il parametro
- Perché ricevo molti segmenti di strada nel percorso con snap per una strada senza modifiche del limite di velocità?
- Quando il parametro
interpolateè impostato sutrue, la query snap-to-road restituisce una polilinea che segue la strada intorno agli angoli, alle curve e alle rotatorie. Se la strada curva, vengono restituiti più segmenti di strada anche se il limite di velocità non cambia, per creare una polilinea che segua da vicino la geometria della strada.