Il termine geocodifica si riferisce in genere alla traduzione di un indirizzo in formato leggibile da una persona in una località su una mappa. Il processo opposto, ovvero la traduzione di una posizione sulla mappa in un indirizzo leggibile, è noto come geocodifica inversa.
Richieste di geocodifica inversa
Parametri obbligatori
latlng
: le coordinate di latitudine e longitudine che specificano la posizione per la quale vuoi l'indirizzo più vicino e leggibile.key
: la chiave API della tua applicazione. Questa chiave identifica la tua applicazione ai fini della gestione delle quote. Scopri come ottenere una chiave.
Parametri facoltativi
Di seguito sono riportati i parametri facoltativi che puoi includere in una richiesta di geocodifica inversa:
language
: la lingua in cui restituire i risultati.- Consulta l'elenco delle lingue. Google aggiorna spesso le lingue supportate, pertanto questo elenco potrebbe non essere esaustivo.
- Se
language
non viene specificato, il geocodificatore tenta di utilizzare la lingua preferita specificata nelAccept-Language
o la lingua nativa del dominio da cui viene inviata la richiesta. - Il geocodificatore fa del suo meglio per fornire un indirizzo stradale ben leggibile sia per l'utente sia per i residenti. Per raggiungere questo obiettivo, restituisce gli indirizzi nella lingua locale, traslitterati in un script leggibile dall'utente, se necessario, rispettando la lingua preferita. Tutti gli altri indirizzi vengono restituiti nella lingua preferita. I componenti dell'indirizzo vengono restituiti tutti nella stessa lingua, che viene scelta dal primo componente.
- Se un nome non è disponibile nella lingua preferita, il geocodificatore utilizza la corrispondenza più simile.
region
: il codice regione, specificato come valore di due caratteri di un ccTLD ("dominio di primo livello"). Il parametro può anche influire sui risultati in base alla legge vigente.result_type
: un filtro di uno o più tipi di indirizzi, separati da una barra verticale (|
). Se il parametro contiene più tipi di indirizzi, l'API restituisce tutti gli indirizzi che corrispondono a uno dei tipi. Una nota sull'elaborazione: il parametroresult_type
non limita la ricerca ai tipi di indirizzi specificati. ma come unresult_type
agisce come filtro post-ricerca: l'API recupera tutti i risultati per ilresult_type
specificato, quindi elimina quelli che non corrispondono ai tipi di indirizzo specificati. I seguenti valori sono supportati:street_address
indica un indirizzo preciso.route
indica un percorso denominato (ad es. "US 101").intersection
indica un incrocio importante, in genere di due strade principali.political
indica un'entità politica. In genere, questo tipo indica un poligono di qualche amministrazione civile.country
indica l'entità politica nazionale ed è tipicamente il tipo di ordine più elevato restituito dal geocodificatore.administrative_area_level_1
indica un'entità civile di primo ordine al di sotto del livello del paese. Negli Stati Uniti, questi livelli amministrativi sono gli stati. Non tutte le nazioni mostrano questi a livello amministrativo. Nella maggior parte dei casi, admin_area_level_1 i nomi brevi corrisponderanno esattamente alle suddivisioni ISO 3166-2 e ad altre liste diffuse; Tuttavia, questo non è garantito in quanto i nostri risultati di geocodifica si basano su una serie di indicatori e dati sulla posizione.administrative_area_level_2
indica un'autorità civile di secondo ordine inferiore a quella del paese. Negli Stati Uniti, i livelli amministrativi sono contee. Non tutti i paesi presentano questi livelli amministrativi.administrative_area_level_3
indica un'entità civile di terzo ordine al di sotto del livello di paese. Questo tipo indica una suddivisione civile minore. Non tutti i paesi presentano questi livelli amministrativi.administrative_area_level_4
indica un ordine civile di quarto ordine inferiore a quella del paese. Questo tipo indica un ente civile minore. Non tutte le nazioni presentano questi livelli amministrativi.administrative_area_level_5
indica un'entità civile di quinto ordine al di sotto del livello di paese. Questo tipo indica una suddivisione civile minore. Non tutte le nazioni presentano questi livelli amministrativi.administrative_area_level_6
indica un'entità civile di sesto ordine al di sotto del livello del paese. Questo tipo indica una suddivisione civile minore. Non tutti i paesi presentano questi livelli amministrativi.administrative_area_level_7
indica un'entità civile di settimo ordine al di sotto del livello di paese. Questo tipo indica una suddivisione civile minore. Non tutti i paesi presentano questi livelli amministrativi.colloquial_area
indica un nome alternativo di uso comune per l'entità.locality
indica una città o una città politica dell'oggetto.sublocality
indica un'entità civile di primo ordine al di sotto di una località. Per alcune località potrebbero essere disponibili i seguenti tipi aggiuntivi: Dasublocality_level_1
asublocality_level_5
. Ogni livello di circoscrizione è un'entità civile. Numeri più grandi indicano una minore geografica specifica.neighborhood
indica un quartiere denominatopremise
indica una località con nome, in genere un edificio o un insieme di edifici con un nome comunesubpremise
indica un'entità di primo ordine sotto un nome posizione, di solito un singolo edificio all'interno di una serie di edifici con un nome comuneplus_code
indica un riferimento alla posizione codificato, ricavato dalla latitudine e dalla longitudine. I Plus Code possono essere utilizzati al posto degli indirizzi in luoghi in cui non esistono (dove gli edifici non sono numerati o le strade non hanno un nome). Per maggiori dettagli, visita la pagina https://plus.codes.postal_code
indica un codice postale utilizzato per gestire la posta all'interno del paese.natural_feature
indica una caratteristica naturale in evidenza.airport
indica un aeroporto.park
indica un parco denominato.point_of_interest
indica un punto di interesse denominato. In genere, questi "PDV" sono entità locali di spicco che non rientrano facilmente in un'altra categoria, come "Empire State Building" o "Torre Eiffel".
location_type
: un filtro di uno o più tipi di località, separate da una barra verticale (|
). Se il parametro contiene più tipi di località, l'API restituisce tutti gli indirizzi che corrispondono a uno qualsiasi di questi tipi. Una nota sull'elaborazione: il parametrolocation_type
non limita la ricerca ai tipi di località specificati. Piuttosto,location_type
funge da filtro post-ricerca: l'API recupera tutti risultati per il valorelatlng
specificato, poi ignora questi risultati che non corrispondono ai tipi di località specificati. Sono supportati i seguenti valori:"ROOFTOP"
restituisce solo gli indirizzi per i quali Google le informazioni sulla posizione sono precise con una precisione all'indirizzo."RANGE_INTERPOLATED"
restituisce solo gli indirizzi che riflettono un'approssimazione (di solito su una strada) interpolata tra due punti precisi (come gli incroci). Un intervallo interpolato in genere indica che i codici geografici del tetto non sono disponibili per un indirizzo civico."GEOMETRIC_CENTER"
restituisce solo i centri geometrici di una località, ad esempio una polilinea (ad esempio una strada) o un poligono (regione)."APPROXIMATE"
restituisce solo gli indirizzi caratterizzati come approssimativi.
extra_computations
: utilizza questo parametro per specificare le seguenti funzionalità aggiuntive nella risposta:ADDRESS_DESCRIPTORS
- Vedi descrittori dell'indirizzo per ulteriori dettagli.BUILDING_AND_ENTRANCES
- Vedi ingressi e profili degli edifici per ulteriori dettagli.
extra_computations
nella richiesta per ogni caratteristica, Ad esempio:extra_computations=ADDRESS_DESCRIPTORS&extra_computations=BUILDING_AND_ENTRANCES
Se sono presenti entrambi i filtri result_type
e location_type
, l'API
restituisce solo i risultati che corrispondono sia a result_type
che a
location_type
valori. Se nessuno dei valori del filtro è accettabile, il parametro
L'API restituisce ZERO_RESULTS
.
Esempio di geocodifica inversa
La seguente query contiene il valore di latitudine/longitudine per una località a Brooklyn:
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
La query precedente restituisce il seguente risultato:
{
"results" : [
{
"address_components" : [
{
"long_name" : "277",
"short_name" : "277",
"types" : [ "street_number" ]
},
{
"long_name" : "Bedford Avenue",
"short_name" : "Bedford Ave",
"types" : [ "route" ]
},
{
"long_name" : "Williamsburg",
"short_name" : "Williamsburg",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Brooklyn",
"short_name" : "Brooklyn",
"types" : [ "sublocality", "political" ]
},
{
"long_name" : "Kings",
"short_name" : "Kings",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11211",
"short_name" : "11211",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
"geometry" : {
"location" : {
"lat" : 40.714232,
"lng" : -73.9612889
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 40.7155809802915,
"lng" : -73.9599399197085
},
"southwest" : {
"lat" : 40.7128830197085,
"lng" : -73.96263788029151
}
}
},
"place_id" : "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
"types" : [ "street_address" ]
},
... Additional <code>results[]</code> ...
Tieni presente che il geocodificatore inverso ha restituito più di un risultato. I risultati "formatted_address"
non sono solo indirizzi postali, ma qualsiasi modo per assegnare un nome geografico a una località. Ad esempio, quando geocodifica un punto
nella città di Chicago, il punto geocodificato può essere indicato come un indirizzo,
come città (Chicago), come stato (Illinois) o come paese (Stati Uniti
Stati). Tutti sono "indirizzi" al geocodificatore. Il geocodificatore inverso restituisce
uno qualsiasi di questi tipi come risultati validi.
Il geocodificatore inverso corrisponde a entità politiche (paesi, province, città e quartieri), vie e codici postali.
Di seguito è riportato l'elenco completo dei valori formatted_address
restituiti dalla query precedente.
{
"plus_code" : {
"compound_code" : "P27Q+MCM New York, NY, USA",
"global_code" : "87G8P27Q+MCM"
},
"results" : [
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "street_address" ]
},
{
"formatted_address" : "279 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "premise" ]
},
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "establishment", "point_of_interest" ]
},
{
"formatted_address" : "291-275 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "route" ]
},
{
"formatted_address" : "P27Q+MC New York, NY, USA",
...
"types" : [ "plus_code" ]
},
{
"formatted_address" : "South Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Brooklyn, NY 11211, USA",
...
"types" : [ "postal_code" ]
},
{
"formatted_address" : "Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Kings County, Brooklyn, NY, USA",
...
"types" : [ "administrative_area_level_2", "political" ]
},
{
"formatted_address" : "Brooklyn, NY, USA",
...
"types" : [ "political", "sublocality", "sublocality_level_1" ]
},
{
"formatted_address" : "New York, NY, USA",
...
"types" : [ "locality", "political" ]
},
{
"formatted_address" : "New York, USA",
...
"types" : [ "administrative_area_level_1", "political" ]
},
{
"formatted_address" : "United States",
...
"types" : [ "country", "political" ]
}
],
"status" : "OK"
}
Questa API restituisce diversi tipi di indirizzi, dal più specifico indirizzi a entità politiche meno specifiche come quartieri, città, contee e stati. L'indirizzo più preciso è in genere il risultato più in evidenza, come in questo caso. Se vuoi abbinare un tipo specifico di di destinazione, consulta la sezione su come limitare i risultati per tipo. Per questo motivo, la posizione dei risultati rispetto l'una all'altra può variare.
Geocodifica inversa filtrata per tipo
L'esempio seguente filtra gli indirizzi restituiti per includere solo quelli
con tipo di località ROOFTOP
e tipo di indirizzo
street_address
.
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452
&location_type=ROOFTOP&result_type=street_address&key=YOUR_API_KEY
Nota: questi filtri sono validi solo per il geocodice inverso.
Risposte alla geocodifica inversa
Il formato della risposta di geocodifica inversa è lo stesso della risposta di geocodifica la risposta corretta. Consulta la sezione Risposte di geocodifica. Di seguito sono riportati i codici di stato possibili in una risposta di geocodifica inversa.
Inverti codici di stato di geocodifica
Il campo "status"
all'interno dell'oggetto della risposta di geocodifica contiene lo stato della richiesta e potrebbe contenere informazioni di debug per aiutarti a risalire al motivo per cui il geocodice inverso non funziona. Il campo "status"
può contenere i seguenti valori:
"OK"
indica che non si sono verificati errori e che è presente almeno uno è stato restituito."ZERO_RESULTS"
indica che il geocodifica inversa è riuscita, ma non ha restituito risultati. Ciò può verificarsi se il geocodificatore è ha passato unlatlng
in una località remota."OVER_QUERY_LIMIT"
indica che hai superato la quota."REQUEST_DENIED"
indica che la richiesta è stata rifiutata. Forse perché la richiesta include unresult_type
olocation_type
ma non include una chiave API."INVALID_REQUEST"
indica in genere una delle seguenti condizioni:- La query (
address
,components
olatlng
) non è presente. - È stato fornito un valore
result_type
olocation_type
non valido.
- La query (
"UNKNOWN_ERROR"
indica che non è stato possibile inviare la richiesta elaborati a causa di un errore del server. La richiesta può avere esito positivo se Riprova.
Geocodifica inversa dei plus code
Il campo plus_code
nella risposta di geocodifica contiene un plus code che
approssima al meglio la latitudine e la longitudine oggetto della query.
Inoltre, nella maggior parte dei casi l'array di risultati JSON contiene una funzione di geocodifica completa
risultato con un tipo plus_code
e un indirizzo contenente un segno più
le API nel tuo codice. La distanza tra il plus code decodificato e il punto di richiesta è
inferiore a 10 metri.