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 gli stili basati sui dati per i confini.
Aggiungi il servizio Places e la geocodifica 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 in base all'input dell'utente.
- L'API Geocoding consente di geocodificare indirizzi statici noti.
Utilizzare il servizio Places
Utilizzare la ricerca testuale (nuova) per trovare un ID luogo
Puoi utilizzare Ricerca testuale (nuova)
API REST nell'API Places per ottenere un ID luogo che includa i dati della regione
specificando places.id nella maschera dei campi. L'utilizzo della
ricerca testuale (nuova) per richiedere gli 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'Utilizzare il completamento automatico di Places per trovare le regioni
Il servizio di completamento automatico di Places
in Places SDK for Android offre un modo pratico per consentire
agli utenti di cercare le regioni. Per configurare il servizio di completamento automatico di Places in modo che
restituisca solo le regioni, utilizza
AutocompleteSupportFragment.setTypesFilter(List)
per impostare il filtro dei tipi su PlaceTypes.REGIONS.
Ottenere i dettagli del luogo per una regione
Il servizio Dettagli luogo in Places SDK for Android restituisce dati per una regione che possono essere molto utili. Ad esempio, puoi:
- Cercare gli ID luogo dei confini in base ai nomi dei luoghi.
- Ottenere l'area visibile per eseguire lo zoom su un confine.
- Ottenere il tipo di funzionalità per il confine (ad esempio
locality). - Ottenere l'indirizzo formattato, che si risolve in "Nome luogo, Stato, Paese" in nella regione degli Stati Uniti (ad esempio, "Ottumwa, IA, USA").
- Ottenere 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 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 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 aree amministrative 1-4, località o 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 località specifica.
L'esempio seguente utilizza un indirizzo (con escape 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_KEYPuoi utilizzare la geocodifica inversa per trovare gli ID luogo. La seguente funzione del servizio di geocodifica di esempio 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_KEYUtilizza la geocodifica inversa con il filtro dei componenti per ottenere il componente dell'indirizzo per uno o più dei seguenti tipi nella località specificata:
administrativeAreacountrylocalitypostalCode
La funzione di esempio seguente 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
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