Nearby Search (New)

Plattform auswählen: Android iOS JavaScript Webdienst

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, indem Sie 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();
    });
<ph type="x-smartling-placeholder">

„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 einem Place Objekt pro übereinstimmendem Ort.
  • Jedes Place-Objekt enthält nur die in der Feldliste definierten Felder die in der Anfrage übergeben wurden.

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 aus Place.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 des SearchNearbyRequest-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 die Place.Field.ID und Place.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 Umkreises ZERO_RESULTS als Antwort zurückgeben.

    Rufen Sie zum Festlegen des Parameters für die Standortbeschränkung die Methode setLocationRestriction() beim Erstellen des SearchNearbyRequest-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 Sie includedPrimaryTypes und excludedPrimaryTypes, 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 und excludedTypes, um die Ergebnisse in der Liste der Typen zu filtern, die mit einen Ort.

    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") und excludedPrimaryTypes = 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 und excludedTypes 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 Methode setIncludedTypes() 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 den excludedTypes (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 der excludedTypes.

    Gibt es widersprüchliche Typen, z. B. einen Typ, der in beiden includedTypes-Dateien vorkommt, und excludedTypes, wird der Fehler INVALID_REQUEST zurückgegeben.

    Um den Parameter für ausgeschlossene Typen festzulegen, rufen Sie beim Erstellen des SearchNearbyRequest-Objekts die Methode setExcludedTypes() auf.

    Eingeschlossene primäre Typen

    Eine Liste der primären Ortstypen von Einzuschließende Tabelle A bei einer Suche.

    Um den enthaltenen Parameter für primäre Typen festzulegen, rufen Sie beim Erstellen des SearchNearbyRequest-Objekts die Methode setIncludedPrimaryTypes() 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 und excludedPrimaryTypes, ein INVALID_ARGUMENT Fehler wird zurückgegeben.

    Zum Festlegen des ausgeschlossenen primären Typparameters rufen Sie beim Erstellen des SearchNearbyRequest-Objekts die Methode setExcludedPrimaryTypes() 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 Methode setMaxResultCount() 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.

    Zum Festlegen des Parameters für die Rangeinstellung rufen Sie beim Erstellen des SearchNearbyRequest-Objekts die Methode setRankPreference() 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 dem regionCode wird der Ländercode bei formattedAddress 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.

    Wenn Sie den Parameter für den Regionscode festlegen möchten, rufen Sie beim Erstellen des SearchNearbyRequest-Objekts die Methode setRegionCode() 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