Bei einer „Nearby Search (New)“-Anfrage wird die Region
zur Suche in Form eines Kreises, definiert durch Breiten- und Längengrad
Koordinaten des Kreismittelpunkts und des Radius in Metern Die
-Anfrage eine Liste übereinstimmender Orte zurück, die jeweils durch einen
Place
-Objekt innerhalb des angegebenen Suchbereichs befindet.
Standardmäßig enthält die Antwort Orte aller Typen innerhalb des Suchbereichs. Optional können Sie die Antwort filtern, indem Sie eine Liste von Ortstypen angeben, die in die Antwort einschließen oder aus ihr ausschließen. Sie können beispielsweise angeben, nur die Orte vom Typ „Restaurant“, „Bäckerei“ und „Café“ oder schließen Sie alle Orte des Typs „Schule“ aus.
„Nearby Search (New)“-Anfragen
Stellen Sie eine „Nearby Search (New)“-Anfrage über folgenden Anruf:
PlacesClient.searchNearby
,
übergeben
SearchNearbyRequest
, das die Anfrageparameter definiert.
Das Objekt SearchNearbyRequest
gibt alle erforderlichen und optionalen
-Parameter für die Anfrage. Zu den erforderlichen Parametern gehören:
- Die Liste der Felder, die im
Place
-Objekt zurückgegeben werden sollen (auch als Feldmaske. Wenn Sie nicht mindestens ein Feld in der Feldliste angeben oder auslassen, gibt der Aufruf einen Fehler zurück. - Die Standortbeschränkung für den Suchbereich, definiert als Breitengrad/Längengrad-Paar und Radiuswert in Metern.
In diesem Beispiel für eine Suchanfrage in der Nähe wird angegeben, dass die Antwort-Place
-Objekte
enthalten jeweils die Ortsfelder Place.Field.ID
und Place.Field.NAME
Place
-Objekt in den Suchergebnissen. Außerdem wird die Antwort nur so gefiltert,
Orte des Typs „Restaurant“ zurückgeben und "Café", aber schließen Sie Orte des Typs
„pizza_restaurant“ und „american_restaurant“.
// Define a list of fields to include in the response for each returned place. final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME); // Define the search area as a 1000 meter diameter circle in New York, NY. LatLng center = new LatLng(40.7580, -73.9855); CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 1000); // Define a list of types to include. final List<String> includedTypes = Arrays.asList("restaurant", "cafe"); // Define a list of types to exclude. final List<String> excludedTypes = Arrays.asList("pizza_restaurant", "american_restaurant"); // Use the builder to create a SearchNearbyRequest object. final SearchNearbyRequest searchNearbyRequest = SearchNearbyRequest.builder(/* location restriction = */ circle, placeFields) .setIncludedTypes(includedTypes) .setExcludedTypes(excludedTypes) .setMaxResultCount(10) .build()); // Call placesClient.searchNearby() to perform the search. // Define a response handler to process the returned List of Place objects. placesClient.searchNearby(searchNearbyRequest) .addOnSuccessListener(response -> { List<Place> places = response.getPlaces(); });
„Nearby Search (New)“-Antworten
Die
SearchNearbyResponse
stellt die Antwort auf eine Suchanfrage dar. Ein SearchNearbyResponse
Objekt enthält:
- Eine Liste von
Place
-Objekten, die alle übereinstimmenden Orte darstellen, mit einemPlace
Objekt pro übereinstimmendem Ort. - Jedes
Place
-Objekt enthält nur die in der Feldliste definierten Felder übergeben werden.
In der Anfrage haben Sie beispielsweise eine Feldliste so definiert:
// Define a list of fields to include in the response for each returned place. final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);
Diese Feldliste bedeutet, dass jedes Place
-Objekt in der Antwort nur das Objekt
Orts-ID und Name jedes übereinstimmenden Ortes. Sie können dann den Place.getId()
verwenden
und Place.getName()
, um auf diese Felder in jedem Place
-Objekt zuzugreifen.
Weitere Beispiele für den Zugriff auf Daten in einem Place
-Objekt finden Sie unter Auf Ort zugreifen
Felder für Objektdaten.
Erforderliche Parameter
Verwenden Sie die Methode
SearchNearbyRequest
, um die erforderlichen Parameter für die Suche anzugeben.
Liste der Felder
Wenn Sie Ortsdetails anfordern, müssen Sie die zurückzugebenden Daten in der
Place
-Objekt für den Ort als Feldmaske. Um die Feldmaske zu definieren, übergeben Sie ein Array von Werten ausPlace.Field
SearchNearbyRequest
hinzu. Die Maskierung von Feldern ist damit Sie keine unnötigen Daten anfordern, unnötige Verarbeitungszeit und unnötige Kosten.Geben Sie eines oder mehrere der folgenden Felder an:
Die folgenden Felder lösen die Nearby Search- (Basic) Artikelnummer:
Place.Field.ADDRESS_COMPONENTS
,Place.Field.BUSINESS_STATUS
,Place.Field.ADDRESS
,Place.Field.ICON_BACKGROUND_COLOR
,Place.Field.ICON_URL
,Place.Field.LAT_LNG
,Place.Field.PHOTO_METADATAS
,Place.Field.PLUS_CODE
,Place.Field.ID
,Place.Field.NAME
,Place.Field.TYPES
,Place.Field.UTC_OFFSET
,Place.Field.VIEWPORT
,Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
Die folgenden Felder lösen die Nearby Search- (Erweitert) Artikelnummer:
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 Nearby Search- (Bevorzugt) Artikelnummer:
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
Rufen Sie zum Festlegen des Feldlistenparameters die Methode
setPlaceFields()
beim Erstellen desSearchNearbyRequest
-Objekts.Im folgenden Beispiel wird eine Liste mit zwei Feldwerten definiert, um anzugeben, dass der Das von einer Anfrage zurückgegebene
Place
-Objekt enthält diePlace.Field.ID
undPlace.Field.NAME
-Felder:
// Define a list of fields to include in the response for each returned place. final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);
Standortbeschränkung
A
LocationRestriction
-Objekt, das die zu durchsuchende Region als Kreis definiert, definiert durch Mittelpunkt und Radius in Metern. Der Radius muss zwischen größer als 0,0 und kleiner oder gleich 50.000.0 liegt, wird die Angabe eines zu kleinen UmkreisesZERO_RESULTS
als Antwort zurückgeben.Rufen Sie zum Festlegen des Parameters für die Standortbeschränkung die Methode
setLocationRestriction()
beim Erstellen desSearchNearbyRequest
-Objekts.
Optionale Parameter
Verwenden Sie die Methode
SearchNearbyRequest
-Objekt, um die optionalen Parameter für die Suche anzugeben.
-
Typen und primäre Typen
Hiermit können Sie eine Liste von Typen aus Typen angeben Tabelle A zum Filtern in den Suchergebnissen. In jeder Typeinschränkungskategorie können bis zu 50 Typen angegeben werden.
Ein Ort kann nur einen einzigen primären Typ aus folgenden Typen haben: Tabelle A verknüpft mit . Der primäre Typ könnte beispielsweise
"mexican_restaurant"
oder"steak_house"
. Verwenden SieincludedPrimaryTypes
undexcludedPrimaryTypes
, um die Ergebnisse zu filtern den primären Typ eines Ortes.Ein Ort kann auch mehrere Typwerte aus Typen haben Tabelle A die damit verknüpft sind. Beispiele für Restauranttypen:
"seafood_restaurant"
,"restaurant"
,"food"
"point_of_interest"
,"establishment"
.includedTypes
verwenden undexcludedTypes
, um die Ergebnisse in der Liste der Typen zu filtern, die mit einen Ort.Wenn Sie einen allgemeinen primären Typ wie
"restaurant"
angeben oder"hotel"
, kann die Antwort Orte mit einem als den angegebenen primären Typ haben. Beispiel: Sie geben an, einen primären Typ von"restaurant"
enthalten. Die Antwort kann dann Orte mit dem primären Typ"restaurant"
enthalten, aber der Die Antwort kann auch Orte mit einem spezifischeren primären Typ enthalten, z. B."chinese_restaurant"
oder"seafood_restaurant"
.Wenn für eine Suche mehrere Typeinschränkungen festgelegt sind, werden nur Orte die alle Einschränkungen erfüllen, zurückgegeben. Wenn Sie beispielsweise
includedTypes = Arrays.asList("restaurant")
undexcludedPrimaryTypes = Arrays.asList("steak_house")
, die Die zurückgegebenen Orte bieten"restaurant"
-bezogene Dienstleistungen, sind aber nicht primär aktiv als"steak_house"
.Ein Beispiel für die Verwendung von
includedTypes
undexcludedTypes
findest du unter Nearby Search (New)-Anfragen.Eingeschlossene Typen
Eine Liste der Ortstypen aus Tabelle A, nach der gesucht werden soll. Wird dieser Parameter weggelassen, werden Orte aller Typen zurückgegeben.
Zum Festlegen des enthaltenen Typenparameters rufen Sie beim Erstellen des
SearchNearbyRequest
-Objekts die MethodesetIncludedTypes()
auf.Ausgeschlossene Typen
Eine Liste mit Ortstypen aus Tabelle A für den Ausschluss aus einer suchen.
Wenn Sie sowohl den
includedTypes
(z. B."school"
) als auch denexcludedTypes
(z. B."primary_school"
) in der Anfrage, dann der Antwort enthält Orte, die als"school"
, aber nicht als"primary_school"
. Die Antwort enthält Orte, die mit mindestens einem der folgenden Kriterien übereinstimmen:includedTypes
und keiner derexcludedTypes
.Gibt es widersprüchliche Typen, z. B. einen Typ, der in beiden
includedTypes
-Dateien vorkommt, undexcludedTypes
, wird der FehlerINVALID_REQUEST
zurückgegeben.Um den Parameter für ausgeschlossene Typen festzulegen, rufen Sie beim Erstellen des
SearchNearbyRequest
-Objekts die MethodesetExcludedTypes()
auf.Eingeschlossene primäre Typen
Eine Liste der primären Ortstypen von Einzuschließende Tabelle A bei der Suche.
Um den enthaltenen Parameter für primäre Typen festzulegen, rufen Sie beim Erstellen des
SearchNearbyRequest
-Objekts die MethodesetIncludedPrimaryTypes()
auf.Ausgeschlossene primäre Typen
Eine Liste der primären Ortstypen von Auszuschließende Tabelle A über die Suche.
Gibt es widersprüchliche Primärtypen, wie ein Typ, der in beiden
includedPrimaryTypes
undexcludedPrimaryTypes
, einINVALID_ARGUMENT
Fehler wird zurückgegeben.Um den Parameter für ausgeschlossene primäre Typen festzulegen, rufen Sie beim Erstellen des
SearchNearbyRequest
-Objekts die MethodesetExcludedPrimaryTypes()
auf. -
Maximale Anzahl von Ergebnissen
Gibt die maximale Anzahl der Ortsergebnisse an, die zurückgegeben werden sollen. Muss zwischen folgenden Werten liegen: 1 und 20 (Standardeinstellung) einschließlich.
Um den Parameter für die maximale Ergebnisanzahl festzulegen, rufen Sie beim Erstellen des
SearchNearbyRequest
-Objekts die MethodesetMaxResultCount()
auf. -
Rangfolgeneinstellung
Der zu verwendende Rankingtyp. Wenn Sie diesen Parameter nicht angeben, werden die Ergebnisse nach Beliebtheit sortiert. Folgende Werte sind möglich:
POPULARITY
(Standardeinstellung): Sortiert die Ergebnisse nach ihrer Beliebtheit.DISTANCE
Die Ergebnisse werden in aufsteigender Reihenfolge nach ihrer Entfernung vom angegebenen Ort.
Wenn Sie den Parameter für die Rangeinstellung festlegen möchten, rufen Sie beim Erstellen des
SearchNearbyRequest
-Objekts die MethodesetRankPreference()
auf. -
Regionscode
Der Regionscode, der zum Formatieren der Antwort verwendet wird, angegeben als <ph type="x-smartling-placeholder"></ph> zweistelligen CLDR-Code eingeben. Es gibt keinen Standardwert.
Wenn der Ländername des Felds
formattedAddress
in der Antwort mit demregionCode
wird der Ländercode beiformattedAddress
weggelassen.Die meisten CLDR-Codes sind identisch mit ISO 3166-1-Codes, mit einigen nennenswerten Ausnahmen. Die ccTLD des Vereinigten Königreichs lautet beispielsweise „uk“ (.co.uk), während der ISO 3166-1-Code „gb“ lautet (technisch für die Rechtspersönlichkeit des Vereinigten Königreichs Großbritannien und Nordirland“). Der Parameter kann sich gemäß geltendem Recht auf Ergebnisse auswirken.
Zum Festlegen des Regionscodeparameters rufen Sie beim Erstellen des
SearchNearbyRequest
-Objekts die MethodesetRegionCode()
auf.
Zuordnungen in der App anzeigen
Wenn Ihre App Informationen anzeigt, die von
PlacesClient
,
wie Fotos und Rezensionen, muss die App auch die erforderlichen Quellenangaben enthalten.
Weitere Informationen finden Sie unter Richtlinien für das Places SDK for Android-Geräte