Sie können den Places-Dienst und die Geocoding API mit dem Maps SDK for Android verwenden, um nach Regionen zu suchen und mehr Informationen zu Orten zu erhalten. Der Places-Dienst und die Geocoding API sind leistungsstarke und 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, die Informationen zu Orten zurückgeben.
- 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
„Text Search (New)“ für die Suche nach einer Orts-ID verwenden
Sie können die Text Search (New)-REST API in der Places API verwenden, um eine Orts-ID abzurufen, die Regionsdaten enthält. Geben Sie dazu places.id
in die Feldmaske ein. Die Verwendung der Text Search (New), um Orts-IDs anzufordern, ist kostenlos. Weitere Informationen
Wenn Sie beispielsweise die Orts-ID für Trinidad im US-Bundesstaat Kalifornien abrufen möchten, können Sie den folgenden API-Aufruf verwenden:
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, verwenden Sie AutocompleteSupportFragment.setTypesFilter(List)
, um den Typfilter auf PlaceTypes.REGIONS
festzulegen.
Ortsdetails für eine Region abrufen
Der Dienst Place Details im Places SDK for Android gibt Daten für eine Region zurück, die sehr nützlich sein können. Beispiele:
- 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, die in der Region „Vereinigte Staaten“ in „Ort, Bundesland, 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 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
- Mit der umgekehrten Geocodierung können Sie Orts-IDs anhand von Breiten- und Längengraden ermitteln oder sogar Orts-IDs für alle Komponenten an einem bestimmten Standort zurückgeben.
Im folgenden Beispiel wird eine Adresse (URL-entkommentiert) 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_KEY
Sie können die umgekehrte Geocodierung verwenden, um Orts-IDs zu ermitteln. 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_KEY
Verwenden Sie die umgekehrte Geocodierung mit Komponentenfiltern, um die Adresskomponente für einen oder mehrere der folgenden Typen am angegebenen Ort abzurufen:
administrativeArea
country
locality
postalCode
In der nächsten Beispielfunktion wird der „Geocoding“-Dienst verwendet, um Komponenteneinschränkungen mit umgekehrter Geocodierung hinzuzufügen und alle Adresskomponenten am angegebenen Ort nur für den locality
-Typ zu erhalten:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY