Sie können weitere Details zu einer bestimmten Einrichtung oder einem POI anfordern, indem Sie die zugehörige Orts-ID verwenden und eine „Place Details (New)“-Anfrage stellen. „Place Details (New)“ gibt umfassendere Informationen zum angegebenen Ort zurück, z. B. die vollständige Adresse, Telefonnummer, Nutzerbewertungen und Rezensionen.
Es gibt viele Möglichkeiten, eine Orts-ID zu erhalten. Sie können Folgendes angeben:
„Place Details (New)“-Anfragen
Sie können Ortsdetails anfordern, indem Sie PlacesClient.fetchPlace()
aufrufen und ein FetchPlaceRequest
-Objekt übergeben, das eine Orts-ID und eine Feldliste sowie optionale Parameter enthält:
// Define a place ID.
final String placeId = "INSERT_PLACE_ID_HERE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);
„Place Details (New)“-Antworten
„Place Details (New)“ gibt Daten in Form eines Place
-Objekts zurück, das nur die Felder enthält, die Sie über die Feldliste angefordert haben. Ergebnisse für „Ortsdaten“ dürfen nicht leer sein. Es werden nur Ergebnisse mit Daten zurückgegeben. Wenn für einen angeforderten Ort beispielsweise keine Fotos vorhanden sind, wird das Feld „photos“ nicht im Ergebnis angezeigt.
Für den Zugriff auf Datenfelder rufen Sie die entsprechende Methode auf.
Wenn Sie beispielsweise auf den Ortsnamen zugreifen möchten, rufen Sie getName()
auf.
Erforderliche Parameter
Die erforderlichen Parameter für FetchPlaceRequest
sind:
-
Orts-ID
Eine Kennung in Textform, die einen Ort eindeutig identifiziert und von Text Search (New), Nearby Search (New) oder Autocomplete (New) zurückgegeben wird. Weitere Informationen finden Sie unter Orts-IDs.
-
Liste der Felder
Wenn Sie einen Ort anfragen, müssen Sie angeben, welche Ortsdaten zurückgegeben werden sollen. Dazu übergeben Sie eine Liste von
Place.Field
-Werten, die die zurückzugebenden Daten angeben. Die Antwort enthält keine Standardliste der zurückgegebenen Felder.Feldlisten eignen sich gut, um zu verhindern, dass unnötige Daten angefordert werden. So lassen sich unnötige Verarbeitungszeiten und Gebühren vermeiden. Diese Liste ist ein wichtiger Aspekt, da sie sich auf die Kosten für die einzelnen Anfragen auswirkt. Weitere Informationen finden Sie unter Nutzung und Abrechnung.
Geben Sie eines oder mehrere der folgenden Felder an:
Die folgenden Felder lösen die SKU „Place Details (IDs Only)“ aus:
Place.Field.ID
,Place.Field.NAME
,Place.Field.PHOTO_METADATAS
Die folgenden Felder lösen die SKU „Place Details (Location Only)“ aus:
Place.Field.ADDRESS_COMPONENTS
,Place.Field.ADDRESS
,Place.Field.LAT_LNG
,Place.Field.PLUS_CODE
,Place.Field.TYPES
,Place.Field.VIEWPORT
Die folgenden Felder lösen die SKU Place Details (Basic) aus:
Place.Field.BUSINESS_STATUS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.UTC_OFFSET
,Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
Die folgenden Felder lösen die SKU Place Details (Advanced) aus:
Place.Field.CURRENT_OPENING_HOURS
,Place.Field.SECONDARY_OPENING_HOURS
,Place.Field.PHONE_NUMBER
,Place.Field.PRICE_LEVEL
,Place.Field.RATING
,Place.Field.OPENING_HOURS
,Place.Field.USER_RATINGS_TOTAL
,Place.Field.WEBSITE_URI
Die folgenden Felder lösen die SKU Place Details (Preferred) aus:
Place.Field.CURBSIDE_PICKUP
,Place.Field.DELIVERY
,Place.Field.DINE_IN
,Place.Field.EDITORIAL_SUMMARY
,Place.Field.RESERVABLE
,Place.Field.REVIEWS
,Place.Field.SERVES_BEER
,Place.Field.SERVES_BREAKFAST
,Place.Field.SERVES_BRUNCH
,Place.Field.SERVES_DINNER
,Place.Field.SERVES_LUNCH
,Place.Field.SERVES_VEGETARIAN_FOOD
,Place.Field.SERVES_WINE
,Place.Field.TAKEOUT
Optionale Parameter
Die optionalen Parameter für
FetchPlaceRequest
sind:
Regionscode
Der zum Formatieren der Antwort verwendete Regionscode, angegeben als zweistelliger CLDR-Code. Es gibt keinen Standardwert.
Wenn der Ländername des Felds
Place.Field.ADDRESS
in der Antwort mitregionCode
übereinstimmt, wird der Ländercode inPlace.Field.ADDRESS
weggelassen.Die meisten CLDR-Codes entsprechen den ISO 3166-1-Codes, mit einigen Ausnahmen. So lautet beispielsweise die ccTLD des Vereinigten Königreichs „uk“ (.co.uk) und der ISO 3166-1-Code „gb“ (technisch für die Rechtspersönlichkeit „The United Kingdom of Great Britain and Northern Ireland“). Der Parameter kann sich gemäß geltendem Recht auf Ergebnisse auswirken.
Wenn Sie den Parameter für den Regionscode festlegen möchten, rufen Sie beim Erstellen des
FetchPlaceRequest
-Objekts die MethodesetRegionCode()
auf.-
Sitzungstoken
Sitzungstokens sind vom Nutzer erstellte Strings, die Aufrufe der automatischen Vervollständigung (New) als "Sitzungen" erfassen. Bei „Autocomplete (New)“ werden Sitzungstokens verwendet, um die Abfrage- und Auswahlphasen einer Nutzersuche mit automatischer Vervollständigung zu Abrechnungszwecken in einer separaten Sitzung zu gruppieren. Sitzungstokens werden an „Place Details (New)“-Aufrufe übergeben, die auf „Autocomplete (New)“-Aufrufe folgen. Weitere Informationen finden Sie unter Sitzungstokens.
Rufen Sie zum Festlegen des Sitzungstoken-Parameters beim Erstellen des
FetchPlaceRequest
-Objekts die MethodesetSessionToken()
auf.
Beispiel für „Place Details“
Im folgenden Beispiel werden die Felder ID
, NAME
und ADDRESS
für das Empire State Building in New York City angefordert.
// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";
// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME, Place.Field.ADDRESS);
// Construct a request object, passing the place ID and field list.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);
// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);