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, 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.
Google Places 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. Wenn die Text Search API (neu) nur verwendet wird, um Orts-IDs anzufordern, fallen keine Gebühren an. Weitere Informationen
Mit dem folgenden API-Aufruf können Sie beispielsweise die Orts-ID für Trinidad, CA abrufen:
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 Dienst Place Autocomplete im Places SDK for Android können Nutzer ganz einfach nach Regionen suchen. Wenn Sie den „Places Autocomplete“-Dienst so konfigurieren möchten, dass nur Regionen zurückgegeben werden, 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 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 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 Orts-IDs für alle Komponenten an einem bestimmten Ort zurückgeben.
Im folgenden Beispiel wird eine Adresse (mit URL-Escaping) 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
Mit der umgekehrten Geocodierung können Sie Orts-IDs 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
So verwenden Sie die umgekehrte Geocodierung mit Komponentenfilter, um die Adresskomponenten 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