Mit dem Places-Dienst und der Geocoding API im Maps SDK for Android können Sie nach Regionen suchen und weitere Informationen zu Orten erhalten. Der Places-Dienst und die Geocoding API sind leistungsstarke, stabile Alternativen zum Abrufen von Orts-IDs. Falls Sie bereits Orts-IDs nutzen, können Sie sie mit datengestützten Stilen für Begrenzungen wiederverwenden.
So binden Sie den Places-Dienst und die Geocoding API in Ihre Maps SDK for Android-Apps ein:
- Das Places SDK for Android ist eine Android-Bibliothek mit Methoden zum Abrufen von Informationen zu Orten.
- Die Places API gibt mithilfe von HTTP-Anfragen Informationen zu Orten zurück.
- Die Geocoder-Klasse ermöglicht die dynamische und umgekehrte Geocodierung anhand von Nutzereingaben.
- Mit der Geocoding API können Sie statische, bekannte Adressen geocodieren.
Places-Dienst verwenden
Mit „Text Search (New)“ eine Orts-ID finden
Mit der Text Search (New)
REST API in der Places API können Sie eine Orts-ID abrufen, die Regions
daten enthält. Geben Sie dazu places.id in der Feldmaske an. Wenn die Text Search (New) API nur verwendet wird, um Orts-IDs anzufordern, fallen keine Gebühren an. Weitere Informationen.
Wenn Sie beispielsweise die Orts-ID für Trinidad, Kalifornien, abrufen möchten, können Sie den folgenden API-Aufruf ausführen:
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'„Place Autocomplete“ für die Suche nach Regionen verwenden
Mit dem Place Autocomplete
Dienst im Places SDK for Android können Nutzer bequem nach Regionen suchen. Wenn der „Place Autocomplete“-Dienst nur Regionen zurückgeben soll, setzen Sie den Typfilter mit
AutocompleteSupportFragment.setTypesFilter(List)
auf PlaceTypes.REGIONS.
Ortsdetails für eine Region abrufen
Die Daten des Place Details Dienstes im Places SDK for Android für eine Region können sehr nützlich sein. Beispielsweise können Sie:
- anhand der Ortsnamen nach den Orts-IDs der jeweiligen Begrenzungen suchen
- den Darstellungsbereich abrufen, um eine Begrenzung anzuzeigen
- den Elementtyp für die Begrenzung abrufen (z. B.
locality) - die formatierte Adresse abrufen, die in den USA in „Ort, Bundesstaat, Land“ aufgelöst wird (z. B. „Ottumwa, IA, USA“)
- andere nützliche Daten wie Fotos abrufen.
Geocoding API verwenden
Mit der Geocoding API können Sie eine Adresse in Breiten- und Längengradkoordinaten und eine Orts-ID umwandeln oder Breiten- und Längengradkoordinaten oder eine Orts-ID in eine Adresse umwandeln. Die folgenden Anwendungsfälle lassen sich gut mit datengestützten Stilen für Begrenzungen kombinieren:
- Geocoding verwenden, um den Darstellungsbereich für eine Region abzurufen
- Das Filtern von Komponenten auf Ihren Geocoding-Aufruf anwenden, um die Orts-IDs für die Verwaltungsgebiete 1–4, den Ort oder die Postleitzahl abzurufen
- Die umgekehrte Geocodierung verwenden, um Orts-IDs anhand von Breiten- und Längengraden zu ermitteln oder Orts-IDs für alle Komponenten an einem bestimmten Ort zurückzugeben
Im folgenden Beispiel wird eine Adresse (URL-codiert) verwendet, um eine Anfrage an die Geocoding API zu senden:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEYMit der umgekehrten Geocodierung können Sie Orts-IDs finden. Im folgenden Beispiel für eine „Geocoding“-Dienstfunktion werden die Orts-IDs für alle Adresskomponenten an den angegebenen Breiten- und Längengraden zurückgegeben:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEYSo verwenden Sie die umgekehrte Geocodierung mit Komponentenfilter, um die Adresskomponenten für einen oder mehrere der folgenden Typen am angegebenen Ort abzurufen:
administrativeAreacountrylocalitypostalCode
Die nächste Beispielfunktion zeigt die Verwendung des Geocoding-Dienstes, das Hinzufügen von Komponenteneinschränkungen mit umgekehrter Geocodierung, um alle Adresskomponenten am angegebenen Ort nur für den Typ locality zu erhalten:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY