Sie können den Places-Dienst und die Geocoding API mit dem Maps SDK for Android verwenden, um nach Regionen zu suchen und weitere 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 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 Service verwenden
Orts-ID mit „Text Search (New)“ finden
Sie können die Text Search (New) REST API in der Places API verwenden, um eine Orts-ID mit Regionsdaten abzurufen. Dazu müssen Sie places.id
in der Feldmaske angeben. Wenn die Text Search API (New) nur verwendet wird, um Orts-IDs anzufordern, fallen keine Gebühren an. 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 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 Dienst Place Autocomplete 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 Place Details-Dienst 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 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_KEY
Mit 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_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