Żądanie wyszukiwania w pobliżu (nowe) przyjmuje jako dane wejściowe region
do wyszukiwania określonego w postaci okręgu, określonego szerokością i długością geograficzną
współrzędne punktu środkowego okręgu i promień w metrach.
zwraca listę pasujących miejsc, a każde z nich jest reprezentowane przez
Place
obiektu w określonym obszarze wyszukiwania.
Domyślnie odpowiedź zawiera miejsca dowolnego typu w obszarze wyszukiwania. Opcjonalnie możesz przefiltrować odpowiedź, określając listę typów miejsc do wyraźnie uwzględnić w odpowiedzi lub z niej wykluczyć. Możesz na przykład wpisać aby uwzględnić w odpowiedzi tylko te miejsca, które są typu „restauracja”, „piekarnia” i „kawiarnia” albo wyklucz wszystkie miejsca typu „szkoła”.
Żądania wyszukiwania w pobliżu (nowe)
Zadzwoń, aby wysłać prośbę o wyszukiwanie w pobliżu (nowe)
PlacesClient.searchNearby
zaliczając
SearchNearbyRequest
definiujący parametry żądania.
Obiekt SearchNearbyRequest
określa wszystkie wymagane i opcjonalne
dla żądania. Wymagane parametry to:
- Lista pól do zwrócenia w obiekcie
Place
, nazywany również maską pola. Jeśli nie określisz co najmniej jednego pola na liście pól lub jeśli pominiesz listę pól, wywołanie zwróci błąd. - Ograniczenie lokalizacji w obszarze wyszukiwania, zdefiniowane jako para szerokości i długości geograficznej oraz wartości promienia w metrach.
To przykładowe żądanie wyszukiwania w pobliżu określa, że odpowiedź obiekty Place
zawierają pola miejsc Place.Field.ID
i Place.Field.NAME
dla każdej z tych wartości
Place
obiekt w wynikach wyszukiwania. Filtruje też odpowiedź tylko do
zwracane miejsca typu „restauracja” i „kawiarnia”, ale wykluczyć miejsca typu
„pizza_restauracja” i „american_Restaurant” (restauracja amerykańska).
// 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(); });
Odpowiedzi Wyszukiwanie w pobliżu (nowe)
SearchNearbyResponse
reprezentuje odpowiedź z żądania wyszukiwania. SearchNearbyResponse
obiekt zawiera:
- Lista
Place
obiektów reprezentujących wszystkie pasujące miejsca, w tym jedenPlace
obiekt na pasujące miejsce. - Każdy obiekt
Place
zawiera tylko pola zdefiniowane przez listę pól które zostały przekazane do żądania.
Na przykład w żądaniu zdefiniowano listę pól jako:
// 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);
Ta lista pól oznacza, że każdy obiekt Place
w odpowiedzi zawiera tylko
identyfikator i nazwę każdego pasującego miejsca. Następnie możesz użyć usługi Place.getId()
i Place.getName()
, by uzyskać dostęp do tych pól w każdym obiekcie Place
.
Więcej przykładów uzyskiwania dostępu do danych w obiekcie Place
znajdziesz w sekcji Dostęp do miejsc
pól danych obiektów.
Wymagane parametry
Użyj
SearchNearbyRequest
aby określić wymagane parametry wyszukiwania.
Lista pól
W żądaniu szczegółów miejsca należy określić dane, które mają zostać zwrócone w Obiekt
Place
miejsca jako maska pola. Aby zdefiniować maskę pola, przekaż tablicę wartości zPlace.Field
do obiektuSearchNearbyRequest
. Maskowanie pól to sprawdzona metoda projektowania, aby uniknąć wysyłania niepotrzebnych danych, niepotrzebnego czasu przetwarzania i opłat.Wypełnij co najmniej jedno z tych pól:
Następujące pola aktywują Wyszukiwanie w pobliżu (Podstawowe) Kod SKU:
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
Następujące pola aktywują Wyszukiwanie w pobliżu (Zaawansowane) Kod SKU:
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
Następujące pola aktywują wyszukiwanie w pobliżu (preferowana) Kod SKU:
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
Aby ustawić parametr listy pól, wywołaj funkcję
setPlaceFields()
podczas tworzenia obiektuSearchNearbyRequest
.Przykład poniżej zdefiniowano listę 2 wartości pól, aby określić, że Obiekt
Place
zwrócony przez żądanie zawieraPlace.Field.ID
iPlace.Field.NAME
pola:
// 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);
Ograniczenie dotyczące lokalizacji
O
LocationRestriction
obiekt, który określa obszar wyszukiwania, określony jako okrąg, zdefiniowany przez punkt środkowy i promień w metrach. Promień musi być pomiędzy większymi niż 0,0 i mniejsze lub równe 50000,0.Pamiętaj, że określenie zbyt małego promienia zwróci w odpowiedziZERO_RESULTS
.Aby ustawić parametr ograniczenia lokalizacji, wywołaj metodę
setLocationRestriction()
podczas tworzenia obiektuSearchNearbyRequest
.
Parametry opcjonalne
Użyj
SearchNearbyRequest
aby określić opcjonalne parametry wyszukiwania.
-
Typy i typy główne
Umożliwia określenie listy typów z listy typów Tabela A używana do filtrowania w wynikach wyszukiwania. W każdej kategorii ograniczeń typu można określić maksymalnie 50 typów.
Miejsce może mieć tylko jeden typ główny Tabela A powiązana z . Na przykład typ podstawowy to
"mexican_restaurant"
lub"steak_house"
. UżywajincludedPrimaryTypes
iexcludedPrimaryTypes
, według których filtrować wyniki główny typ miejsca.Miejsce może też mieć wiele wartości typów z typów Tabela A i powiązane z nią. Na przykład restauracja może mieć następujące typy:
"seafood_restaurant"
,"restaurant"
,"food"
"point_of_interest"
,"establishment"
. Użyj formatu:includedTypes
iexcludedTypes
, aby filtrować wyniki na liście typów powiązanych z danego miejsca.Gdy określisz ogólny typ główny, na przykład
"restaurant"
lub"hotel"
, odpowiedź może zawierać miejsca o wartości większej określony typ główny niż podany. Jeśli na przykład wpiszesz zawierają podstawowy typ"restaurant"
. Odpowiedź może zostać zawierają miejsca o głównym typie"restaurant"
, ale może też zawierać miejsca o bardziej konkretnym typie głównym, takim jak"chinese_restaurant"
lub"seafood_restaurant"
.Jeśli wyszukiwanie jest określone z ograniczeniami wielu typów, tylko miejsca które są zgodne ze wszystkimi ograniczeniami. Jeśli na przykład wpiszesz
includedTypes = Arrays.asList("restaurant")
iexcludedPrimaryTypes = Arrays.asList("steak_house")
, zwrócone miejsca świadczą usługi powiązane z:"restaurant"
, ale nie działają głównie jako"steak_house"
.Przykład użycia atrybutów
includedTypes
iexcludedTypes
: Żądania wyszukiwania w pobliżu (nowe).Uwzględnione typy
Lista typów miejsc z Tabela A do wyszukania. Jeśli pominiesz ten parametr, zwracane będą miejsca wszystkich typów.
Aby ustawić parametr uwzględnionych typów, wywołaj metodę
setIncludedTypes()
podczas tworzenia obiektuSearchNearbyRequest
.Wykluczone typy
Lista typów miejsc z Tabela A, którą chcesz wykluczyć z grupy .
Jeśli podasz zarówno
includedTypes
(np."school"
), jak i parametrexcludedTypes
(np."primary_school"
) w żądaniu, wtedy odpowiedź zawiera miejsca zaklasyfikowane jako"school"
, ale nie jako"primary_school"
Odpowiedź zawiera miejsca pasujące do co najmniej jednego z tych atrybutówincludedTypes
i żadne zexcludedTypes
.Jeśli występują kolidujące typy, takie jak typ występujący w obiekcie
includedTypes
iexcludedTypes
, zwracany jest błądINVALID_REQUEST
.Aby ustawić parametr wykluczonych typów, wywołaj metodę
setExcludedTypes()
podczas tworzenia obiektuSearchNearbyRequest
.Uwzględnione typy główne
Lista głównych rodzajów miejsc z Tabela A do uwzględnienia do wyszukiwania.
Aby ustawić uwzględniony parametr typów głównych, wywołaj metodę
setIncludedPrimaryTypes()
podczas tworzenia obiektuSearchNearbyRequest
.Wykluczone typy główne
Lista głównych rodzajów miejsc z Tabela A do wykluczenia z wyników wyszukiwania.
Jeśli występują sprzeczne typy główne, takie jak typ występujący w obu
includedPrimaryTypes
iexcludedPrimaryTypes
, Zwracany jestINVALID_ARGUMENT
błąd.Aby ustawić wykluczony parametr typu głównego, wywołaj metodę
setExcludedPrimaryTypes()
podczas tworzenia obiektuSearchNearbyRequest
. -
Maksymalna liczba wyników
Określa maksymalną liczbę wyników miejsc do zwrócenia. Wymagana wartość z zakresu 1 i 20 (domyślnie) włącznie.
Aby ustawić parametr maksymalnej liczby wyników, wywołaj metodę
setMaxResultCount()
podczas tworzenia obiektuSearchNearbyRequest
. -
Preferencja rankingu
Typ rankingu, który ma zostać użyty. Jeśli ten parametr zostanie pominięty, wyniki będą uporządkowane według popularności. Możliwe wartości:
POPULARITY
(domyślnie) sortuje wyniki na podstawie ich popularności.DISTANCE
sortuje wyniki w kolejności rosnącej według odległości od określoną lokalizację.
Aby ustawić parametr preferencji pozycji, podczas tworzenia obiektu
SearchNearbyRequest
wywołaj metodęsetRankPreference()
. -
Kod regionu
Kod regionu używany do formatowania odpowiedzi podany jako dwuznakową wartość kodu CLDR. Nie ma wartości domyślnej.
Jeśli nazwa kraju w polu
formattedAddress
w odpowiedzi jest zgodna z nazwą krajuregionCode
, kod kraju został pominięty w poluformattedAddress
.Większość kodów CLDR jest identycznych z kody ISO 3166-1, z kilkoma istotnymi wyjątkami. Na przykład domena ccTLD Wielkiej Brytanii to „uk” (co.uk), natomiast kod ISO 3166-1 to „gb”. (technicznie dla funkcji podmiotu „Wielkiej Brytanii i Irlandii Północnej”). Ten parametr może wpływać na wyniki w zależności od obowiązującego prawa.
Aby ustawić parametr kodu regionu, wywołaj metodę
setRegionCode()
podczas tworzenia obiektuSearchNearbyRequest
.
Wyświetl atrybucję w swojej aplikacji
Kiedy aplikacja wyświetla informacje uzyskane z:
PlacesClient
takich jak zdjęcia i opinie, aplikacja musi też wyświetlać wymagane informacje o źródłach.
Więcej informacji znajdziesz w zasadach pakietu SDK Miejsc dla na urządzeniu z Androidem.