Risoluzione dei problemi

Errori

In caso di errore, verrà restituito un corpo della risposta dell'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 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 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 verrà 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 abilitata 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, procedi nel seguente modo:

404 NOT_FOUND HTTPS è obbligatorio per questo servizio. 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 per le richieste di progetto. Hai superato il limite di richieste configurato nella console di Google Cloud. Questo limite in genere viene 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 gruppo o a un piccolo gruppo di utenti di esaurire la quota giornaliera, garantendo al contempo un accesso ragionevole a tutti gli utenti. Consulta la sezione Limitazione dell'utilizzo delle API per configurare questi limiti.

Backoff esponenziale

Se le richieste non vanno a buon fine, devi assicurarti di riprovare con un backoff esponenziale. Ad esempio, se una richiesta ha esito negativo una volta, riprova dopo un secondo; se l'operazione non riesce di nuovo, riprova dopo due secondi, poi quattro secondi e così via. Questo garantisce che le richieste non funzionanti o gli errori su vasta scala non influiscano sui server di Google, in quanto molti client tentano di ritentare 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 una frequenza di 1-10 secondi per ottenere risultati di alta qualità relativi allo scatto sulla 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 di latitudine/longitudine scattate?
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 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 a livelli di zoom elevati.

Problemi comuni

Alcuni punti non vengono agganciati o presentano interruzioni 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 al meglio per i punti vicini. Prova la demo di Allinea a strade o utilizza lo Strumento di controllo delle strade per verificare i percorsi.
Perché i miei percorsi agganciati sono frastagliati o leggermente scostati dalla strada quando ingrandisco lo zoom?
  • Stai troncando la precisione delle coppie latitudine/longitudine prima di visualizzarle? La memorizzazione di coppie latitudine/longitudine agganciate con una precisione inferiore a 7 cifre 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 posizioni decimali, il che comporta un errore di diversi metri, generando linee frastagliate o leggermente lontane dalla strada ad alti livelli di zoom.

Se nessuna delle condizioni precedenti è avvenuta, i riquadri della mappa potrebbero essere stati aggiornati di recente, rendendoli non sincronizzati con l'indice della strada 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 può verificarsi più spesso se guardi regolarmente vecchi percorsi su una mappa (ad esempio, percorsi che sono stati agganciati diverse settimane fa). Per una visualizzazione ottimale, dovresti scattare di nuovo i vecchi percorsi appena prima di mostrarli su una mappa, in modo da minimizzare le incoerenze tra i riquadri della mappa e l'indice della strada utilizzato per l'agganciamento.

Perché il limite di velocità sulla strada X potrebbe non essere visualizzato correttamente?
I limiti di velocità provengono da diverse fonti che variano in termini di precisione e copertura. Se noti un problema ricorrente, ad esempio i limiti di velocità di un determinato tipo di strada o in una determinata area, procedi nel seguente modo per comunicarcelo:
  1. Apri Google Maps sul tuo computer desktop 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 la mappa.
  5. Seleziona il tratto di strada da modificare.
  6. Seleziona Avanti.
  7. Nel campo "Altro", indica che il limite di velocità è errato per la strada.
  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 mio percorso ritagliato taglia gli angoli invece di seguire la strada?
Per risolvere il problema, verifica quanto segue:
  • Assicurati che il parametro interpolate sia impostato su true.
  • Controlla che i punti dati originali siano campionati a intervalli sufficientemente vicini (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 aggancia alla strada restituisce una polilinea che segue la strada intorno ad angoli, curve e rotonde. Se la strada presenta curve, più segmenti di strada vengono restituiti anche se il limite di velocità non cambia, in modo da creare una polilinea che segua da vicino la geometria della strada.