Risoluzione dei problemi

Errori

In caso di errore, verrà restituito un corpo della risposta di 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 Risolvere i 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:
  • Un problema con il parametro path.
    Assicurati di avere almeno 1 e meno di 100 punti. Ogni punto deve essere una coppia di numeri separati da una virgola, ad esempio: 48.409114,-123.369158. I punti devono essere separati da una barra verticale: "|".
  • La tua richiesta includeva un valore placeId non valido.
  • La tua richiesta includeva sia placeId sia un path. È possibile specificare uno solo di questi parametri per ogni richiesta.

Questo errore non viene restituito se viene passato un placeId per una strada che non esiste più o per un luogo che non è una strada.

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:
  • Chiave API mancante o non valida.
  • La fatturazione non è stata attivata sul tuo account.
  • È stato superato un limite di utilizzo autoimposto.
  • Il metodo di pagamento fornito non è più valido (ad esempio, una carta di credito è scaduta).

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:

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é è stato raggiunto i limiti per le richieste del progetto. Hai superato il limite di richieste configurato nella console di Google Cloud. Questo limite è 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 che un singolo gruppo o un piccolo gruppo di utenti esaurisca la quota giornaliera, consentendo comunque un accesso ragionevole a tutti gli utenti. Consulta la sezione Limitazione dell'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 l'errore persiste, riprova dopo due secondi, poi quattro secondi e così via. Ciò garantisce che le richieste non funzionanti o gli errori su larga scala non influiscano sui server di Google, poiché molti client tentano di riprovare a eseguire 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 di utilizzare una frequenza di 1-10 secondi per ottenere risultati di alta qualità durante le attività di guida.
Esiste un limite al numero di punti che posso inviare per ogni query?
Sì, una query può avere al massimo 100 punti.
Che livello di precisione devo utilizzare per memorizzare le coppie di latitudine/longitudine?
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 di 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 ad alti livelli di zoom.

Problemi comuni

Alcuni punti non vengono agganciati o ci sono intervalli vuoti 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 meglio per i punti vicini. Prova la demo di Allinea a strade o utilizza lo strumento di controllo delle strade per testare i tuoi percorsi.
Perché i miei percorsi agganciati sono frastagliati o leggermente fuori dalla strada quando eseguo lo zoom?
  • Stai troncando la precisione delle coppie di latitudine/longitudine agganciate prima di visualizzarle? La memorizzazione di coppie latitudine/longitudine agganciate a una precisione inferiore a 7 punti 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 cifre decimali, il che introduce un errore di diversi metri, con il risultato di linee frastagliate o leggermente lontane dalla strada a livelli di zoom elevati.

Se nessuna delle condizioni precedenti si verifica, i riquadri della mappa potrebbero essere stati aggiornati di recente, rendendoli non sincronizzati con l'indice delle strade 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 più spesso se osservi regolarmente i vecchi percorsi su una mappa (ad esempio, percorsi che sono stati agganciati diverse settimane fa). Per una visualizzazione ottimale, ti consigliamo di riagganciare 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 della strada utilizzato per l'agganciamento.

Quale potrebbe essere il motivo per cui il limite di velocità della strada X non viene visualizzato correttamente?
I limiti di velocità derivano da diverse fonti che variano in termini di precisione e copertura. Se rilevi un errore ricorrente, ad esempio i limiti di velocità di un determinato tipo di strada o in una particolare area, procedi nel seguente modo:
  1. Apri Google Maps sul tuo computer OPPURE l'app Google Maps per Android.
  2. Apri il menu laterale a sinistra.
  3. Seleziona Invia feedback. Nota: è possibile che ti venga richiesto di eseguire l'accesso.
  4. Seleziona Modifica mappa.
  5. Seleziona il tratto di strada da modificare.
  6. Seleziona Avanti.
  7. Nel campo "Altro", indica che il limite di velocità della strada è errato.
  8. Seleziona Invia.
Puoi anche segnalare altri problemi qui (ad esempio se la strada ha il nome sbagliato, è tracciata in modo errato, è chiusa o privata).
Perché il percorso tracciato taglia gli angoli invece di seguire la strada?
Per risolvere il problema, verifica quanto segue:
  • Assicurati che il parametro interpolate sia impostato su true.
  • Verifica che i punti dati originali siano campionati a intervalli sufficientemente ravvicinati (ogni 1-10 secondi).
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 su true, la query di agganciamento alla strada restituisce una polilinea che segue la strada intorno ad angoli, curve e rotatorie. Se la strada curva, vengono restituiti diversi 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.