Puoi utilizzare il servizio Places e l'API Geocoding con l'SDK Maps per Android per cercare regioni e ottenere ulteriori informazioni sui luoghi. Il servizio Places e l'API Geocoding sono alternative efficaci e stabili per ottenere ID luogo. Se utilizzi già gli ID luogo, puoi riutilizzarli con gli stili basati sui dati per i confini.
Aggiungi il servizio Places e Geocoding alle tue app Maps SDK per Android nei seguenti modi:
- Places SDK for Android è una libreria Android contenente metodi per restituire informazioni su luoghi.
- L'API Places restituisce informazioni sui luoghi utilizzando le richieste HTTP.
- La classe geocodificatore può geocodificare e invertire in modo dinamico l'input dell'utente.
- L'API Geocoding ti consente di geocodificare indirizzi statici noti.
Utilizzare il servizio Places
Utilizzare la ricerca di testo (novità) per trovare un ID luogo
Puoi utilizzare l'API REST Text Search (nuova) nell'API Places per ottenere un ID luogo che includa i dati sulla regione specificando places.id
nella maschera dei campi. L'utilizzo di
Ricerca testuale (Novità) per richiedere solo ID luogo
non comporta alcun addebito. Scopri di più.
Ad esempio, per ottenere l'ID luogo di Trinidad, CA, puoi effettuare la seguente chiamata API:
curl -X POST -d '{ "textQuery" : "Trinidad, CA" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id' \ 'https://places.googleapis.com/v1/places:searchText'
Utilizza la funzionalità di completamento automatico di Places per trovare le regioni
Il servizio Places Autocomplete in Places SDK per Android offre un modo pratico per consentire agli utenti di cercare regioni. Per configurare il servizio di compilazione automatica di Luoghi in modo che restituisca solo regioni, utilizza AutocompleteSupportFragment.setTypesFilter(List)
per impostare il filtro di tipo su PlaceTypes.REGIONS
.
Visualizza i dettagli del luogo per una regione
Il servizio Dettagli dei luoghi in Places SDK per Android restituisce i dati per una regione e può essere molto utile. Ad esempio, puoi:
- Cerca gli ID luogo del confine in base ai nomi dei luoghi.
- Ottieni l'area visibile per lo zoom fino a un confine.
- Ottieni il tipo di caratteristica per il confine (ad esempio
locality
). - Ricevi l'indirizzo formattato, che si risolve in "Nome luogo, Stato, Paese" nella regione degli Stati Uniti (ad esempio, "Ottumwa, IA, USA").
- Ricevi altri dati utili, come le foto.
Utilizzare l'API Geocoding
L'API Geocoding consente di convertire un indirizzo in coordinate di latitudine e longitudine e di un ID luogo oppure di convertire le coordinate di latitudine e longitudine o un ID luogo in un indirizzo. I seguenti utilizzi si combinano bene con gli stili basati sui dati per definire i confini:
- Utilizza la geocodifica per ottenere l'area visibile di una regione.
- Applica il filtro dei componenti alla chiamata di geocodifica per ottenere gli ID luogo per le aree amministrative 1-4, la località o il codice postale.
- Utilizza la geocodifica inversa per trovare gli ID luogo in base alle coordinate di latitudine e longitudine o persino per restituire gli ID luogo per tutti i componenti in una determinata località.
L'esempio seguente utilizza un indirizzo (con codifica URL) per effettuare una richiesta all'API Geocoding:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY
Puoi utilizzare la geocodifica inversa per trovare gli ID luogo. L'esempio seguente della funzione servizio di geocodifica restituisce gli ID luogo per tutti i componenti dell'indirizzo alle coordinate di latitudine e longitudine specificate:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
Utilizza la geocodifica inversa con filtri dei componenti per recuperare il componente indirizzo per uno o più dei seguenti tipi nella posizione specificata:
administrativeArea
country
locality
postalCode
La funzione di esempio seguente mostra l'utilizzo del servizio di geocodifica, l'aggiunta di limitazioni dei componenti con il geocodifica inversa per ottenere tutti i componenti dell'indirizzo nella località specificata solo per il tipo locality
:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY