Risoluzione dei problemi

Errori

In caso di errore, verrà restituito un corpo della risposta di errore del 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 quanto segue 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à quanto segue 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 tua chiave API non è valida o non è stata inclusa nella richiesta. Assicurati di aver incluso l'intera chiave e di avere abilitato l'API per questa chiave.
400 INVALID_ARGUMENT "\"percorso\" parametro contiene un valore non valido: ☃" La tua richiesta contiene argomenti non validi. Le cause più probabili sono:
  • Un problema con il parametro path.
    Assicurati di averne almeno 1 e meno di 100 punti. Ogni punto deve essere costituito da una coppia di numeri separati da una virgola, ad esempio: 48.409114,-123.369158. I punti devono essere separate da una barra verticale: "|".
  • La tua richiesta includeva un valore placeId non valido.
  • La tua richiesta includeva sia placeId che un path. È possibile specificare un solo di questi parametri per 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 Google Cloud. La richiesta è stata rifiutata per uno o più dei seguenti motivi:
  • La chiave API è mancante o non valida.
  • La fatturazione non è stata abilitata nel tuo account.
  • È stato superato un limite di utilizzo impostato autonomamente.
  • Il metodo di pagamento indicato non è più valido (ad esempio, la carta di credito è scaduta).

Per utilizzare i prodotti Google Maps Platform, la fatturazione deve essere attivata su il tuo account e tutte le richieste devono includere una chiave API valida. Per risolvere il problema, procedi nel seguente modo:

404 NOT_FOUND Per questo servizio è richiesto HTTPS. Assicurati di inviare richieste a https://roads.googleapis.com/ e non 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 che hai configurato in nella console Google Cloud. Questo limite viene in genere impostato come richieste al giorno, richieste per 100 secondi e richieste per 100 secondi per utente. Questo limite deve essere configurato per evitare che un singolo o un piccolo gruppo di utenti dall'esaurimento della quota giornaliera, consentendo al contempo un ragionevole per tutti gli utenti. Consulta Limitazione dell'utilizzo delle API per configurare questi limiti.

Backoff esponenziale

Quando le richieste non vanno a buon fine, assicurati di riprovare con regole esponenziali il backoff. Ad esempio, se una richiesta non va a buon fine una volta, riprova dopo un secondo, se non riesce di nuovo, riprova dopo due secondi, poi quattro secondi e così via. Questo assicura che le richieste inaccessibili o gli errori su larga scala non indaghino le poiché molti client provano a ritentare le richieste molto rapidamente.

Domande frequenti sulla risoluzione dei problemi

Problemi di implementazione

Con quale frequenza devo campionare la posizione del mio veicolo?
Ogni 1-10 secondi è consigliato per risultati di alta qualità da agganciare alla 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 la latitudine/longitudine agganciata coppie?
Per garantire che i percorsi agganciati seguano le strade a tutti i livelli di zoom, anche a livello di zoom massimo, devi memorizzare le coppie latitudine/longitudine agganciate a 7 posizioni decimali di precisione.
Posso utilizzare le 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 sono quindi non adatta se vuoi che i percorsi agganciati seguano la strada con zoom elevato diversi.

Problemi comuni

Alcuni punti non vengono agganciati oppure sono presenti intervalli vuoti nei percorsi agganciati. Come puoi Correggo?
  • Se effettui il campionamento dei punti a intervalli prestabiliti, assicurati che i punti siano campionato a intervalli più brevi (ogni 1-10 secondi). Se viene utilizzato un intervallo più lungo (ad es. 60 secondi), l'algoritmo Snap-to-Road potrebbe non essere in grado determinare le strade percorse con sufficiente precisione.
  • Se fai clic manualmente su una mappa per creare punti, è molto facile creano percorsi con pochi punti o punti sparsi che l'algoritmo di aggancio non li gestisce bene. L'algoritmo di aggancio funziona al meglio per i punti che molto vicini. Prova la funzione Allinea a Demo sulle strade oppure usa le strade inspector per testare i percorsi.
Perché i miei percorsi agganciati sono frastagliati o leggermente distanti dalla strada quando aumentare lo zoom?
  • Stai troncando la precisione delle coppie latitudine/longitudine agganciate prima di mostrarli? Memorizzazione delle coppie latitudine/longitudine agganciate in un precisione inferiore a sette cifre decimali causa errori di precisione quando il percorso agganciato viene visualizzato sulla mappa.
  • Utilizzi polilinee codificate? Polilinee codificate troncate le coppie latitudine/longitudine a cinque cifre decimali, il che introduce un errore di diversi metri, con conseguenti linee frastagliate o leggermente lontane dalla strada a livelli di zoom elevati.

Se nessuna delle opzioni precedenti è il caso, i riquadri della mappa potrebbero essere stati aggiornati di recente, causandone la mancata sincronizzazione con l'indice della strada usato agganciare. Se sono interessate solo alcune delle tue query, è probabile che questa sia la causa. Poiché Google Maps viene aggiornato regolarmente, questo può accadere di tanto in tanto, e possono verificarsi più spesso se osservi regolarmente i vecchi percorsi su una mappa (ad ad esempio i percorsi acquisiti diverse settimane fa). Per una visualizzazione ottimale, è necessario creare di nuovo i vecchi percorsi poco prima di mostrarli sulla mappa, in modo da ridurre al minimo le incongruenze tra i riquadri della mappa e l'indice della strada utilizzato agganciare.

Perché il limite di velocità della strada X potrebbe non essere visualizzato correttamente?
I limiti di velocità provengono da diverse fonti che variano per precisione e copertura. Se trovi uno schema, ad esempio limiti di velocità per un determinato tipo di strada oppure in una particolare area sono costantemente sbagliati, procedi nel seguente modo per comunicarci:
  1. Apri Google Maps sul computer OPPURE sul tuo computer Android.
  2. Apri il menu laterale a sinistra.
  3. Seleziona Invia feedback. Nota: è possibile che ti venga richiesto di accedere.
  4. Seleziona Modifica la mappa.
  5. Seleziona il tratto di strada da modificare.
  6. Seleziona Avanti.
  7. Nella sezione "Altro" , indica che il limite di velocità della strada non è corretto.
  8. Seleziona Invia.
Qui puoi anche segnalare altri problemi (ad esempio, se la strada presenta nome errato, disegnato in modo errato, chiuso o privato).
Perché il mio percorso agganciato taglia angoli invece di seguire la strada?
Per risolvere il problema, verifica quanto segue:
  • Assicurati che il parametro interpolate sia impostato su true.
  • Verificare che i punti di dati originali siano campionati a intervalli sufficientemente vicini (ogni 1-10 secondi).
Perché vengono restituiti molti tratti di strada nel percorso agganciato per una strada senza modifiche ai limiti di velocità?
Quando il parametro interpolate è impostato su true, la query di posizionamento alla strada restituisce una polilinea che segue la strada intorno agli angoli, curve e rotonde. Se la strada si curva, vengono visualizzati più tratti di strada anche se il limite di velocità non cambia, per creare una polilinea che segue da vicino la geometria della strada.