Puoi utilizzare il servizio Places e l'API Geocoding con Maps SDK for Android per cercare regioni e ottenere maggiori informazioni sui luoghi. Il servizio Places e l'API Geocoding sono alternative potenti e stabili per ottenere gli ID luogo. Se utilizzi già gli ID luogo, puoi riutilizzarli con lo stile basato sui dati per i confini.
Aggiungi il servizio Places e il geocoding alle tue app Maps SDK for Android nei seguenti modi:
- Places SDK for Android è una libreria Android che contiene metodi per restituire informazioni sui luoghi.
- L'API Places restituisce informazioni sui luoghi utilizzando le richieste HTTP.
- La classe Geocoder può eseguire la geocodifica e la geocodifica inversa in modo dinamico a partire dall'input dell'utente.
- L'API Geocoding ti consente di geocodificare indirizzi statici noti.
Utilizzare il servizio Places
Utilizzare la ricerca di testo (nuova) per trovare un ID luogo
Puoi utilizzare l'API REST Text Search (New)
nell'API Places per ottenere un ID luogo che includa i dati della regione
specificando places.id
nella maschera del campo. L'utilizzo della
Ricerca di testo (nuova) per richiedere solo gli ID luogo non comporta
alcun addebito. Scopri di più.
Ad esempio, per ottenere l'ID luogo per 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'
Utilizzare il completamento automatico di Places per trovare regioni
Il servizio di completamento automatico di Places in Places SDK per Android offre un modo pratico per consentire agli utenti di cercare regioni. Per configurare il servizio Places Autocomplete in modo che restituisca solo regioni, utilizza AutocompleteSupportFragment.setTypesFilter(List)
per impostare il filtro del tipo su PlaceTypes.REGIONS
.
Visualizzare i dettagli di un luogo per una regione
Il servizio Place Details in Places SDK per Android restituisce dati per una regione che possono essere molto utili. Ad esempio, puoi:
- Cerca gli ID luogo del confine in base ai nomi dei luoghi.
- Ottieni l'area visibile per lo zoom su un confine.
- Recupera il tipo di elemento per il confine (ad esempio
locality
). - Ottieni l'indirizzo formattato, che viene risolto 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 in un ID luogo oppure di convertire 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 i confini:
- Utilizza il geocoding per ottenere il riquadro visibile per una regione.
- Applica il filtro dei componenti alla chiamata Geocoding 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 per restituire gli ID luogo per tutti i componenti di una determinata località.
L'esempio seguente utilizza un indirizzo (con escape URL) per inviare 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. La seguente funzione del servizio Geocoding restituisce gli ID luogo per tutti i componenti dell'indirizzo in corrispondenza delle coordinate di latitudine e longitudine specificate:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
Utilizza il geocoding inverso con il filtro dei componenti per ottenere il componente dell'indirizzo per uno o più dei seguenti tipi nella località specificata:
administrativeArea
country
locality
postalCode
La funzione di esempio successiva mostra l'utilizzo del servizio di geocodifica, l'aggiunta di limitazioni dei componenti con la geocodifica inversa per ottenere tutti i componenti dell'indirizzo nella posizione 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