Wyszukiwanie tekstowe (nowe) zwraca informacje o zbiorze miejsc na podstawie ciągu znaków, np. „pizza w Nowym Jorku”, „sklepy obuwnicze w pobliżu Ottawy” lub „123 Ulica Główna”. Usługa zwraca listę miejsc pasujących do ciągu tekstowego i wszelkich ustawionych ustawień lokalizacji.
Usługa jest szczególnie przydatna do korzystania z niejednoznacznych zapytań dotyczących adresów w zautomatyzowanym systemie. Elementy ciągu, które nie są adresami, mogą pasować do firm i adresów. Przykłady niejednoznacznych zapytań dotyczących adresów to źle sformatowane adresy lub prośby zawierające elementy inne niż adres, takie jak nazwy firm. Zapytania podobne do pierwszych dwóch przykładów w tabeli poniżej mogą zwracać zero wyników, chyba że ustawisz lokalizację, np. region, ograniczenie lub preferencję lokalizacji.
„10 High Street, UK” lub „123 Main Street, US”. | Wiele „High Street” w Wielkiej Brytanii; wiele „Main Street” w Stanach Zjednoczonych. Zapytanie nie zwraca pożądanych wyników, chyba że ustawiono ograniczenie lokalizacji. |
„ChainRestaurant New York” | Wiele lokalizacji „ChainRestaurant” w Nowym Jorku; brak adresu ulicy ani nawet nazwy ulicy. |
„10 High Street, Escher UK” lub „123 Main Street, Pleasanton US”. | Tylko jedna „High Street” w brytyjskim mieście Escher; tylko jedna „Main Street” w amerykańskim mieście Pleasanton w Kalifornii. |
„NazwaWyjątkowejRestauracji Nowy Jork” | Tylko jedna firma o tej nazwie w Nowym Jorku; nie ma adresu ulicy, który pozwoliłby ją odróżnić. |
„pizzerie w Nowym Jorku” | Zapytanie zawiera ograniczenie dotyczące lokalizacji, a „pizzerie” to dobrze zdefiniowany typ miejsca. Zwraca ono wiele wyników. |
„+1 514-670-8700” | To zapytanie zawiera numer telefonu. Zwraca on wiele wyników dla miejsc powiązanych z tym numerem telefonu. |
Narzędzie API Explorer umożliwia wysyłanie żądań na żywo, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami:
Prośby o wyszukiwanie tekstowe
Zapytanie o wyszukiwanie tekstu to żądanie HTTP POST o tym formacie:
https://places.googleapis.com/v1/places:searchText
Przekazać wszystkie parametry w treści żądania JSON lub w nagłówkach jako część żądania POST. Na przykład:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'
Odpowiedzi na „Wyszukaj tekst” (Nowy)
Wyszukiwanie tekstu (nowa wersja) zwraca w odpowiedzi obiekt JSON. W odpowiedzi:
- Tablica
places
zawiera wszystkie pasujące miejsca. - Każde miejsce w tablicy jest reprezentowane przez obiekt
Place
. ObiektPlace
zawiera szczegółowe informacje o pojedynczym miejscu. - FieldMask przekazany w żądaniu określa listę pól zwracanych w obiekcie
Place
.
Pełny obiekt JSON ma postać:
{ "places": [ { object (Place) } ] }
Wymagane parametry
-
FieldMask
Określ listę pól, które mają być zwracane w odpowiedzi, tworząc maskę pola odpowiedzi. Przekaż do metody maskę pola odpowiedzi, używając parametru adresu URL
$fields
lubfields
albo nagłówka HTTPX-Goog-FieldMask
. W odpowiedzi nie ma domyślnej listy zwracanych pól. Jeśli pominiesz maskę pola, metoda zwróci błąd.Maskowanie pól to dobra praktyka projektowania, która pozwala uniknąć żądania niepotrzebnych danych, co pomaga uniknąć niepotrzebnego czasu przetwarzania i opłat rozliczeniowych.
Podaj rozdzieloną przecinkami listę typów danych o miejscach, które mają zostać zwrócone. Na przykład: aby pobrać nazwę wyświetlaną i adres miejsca.
X-Goog-FieldMask: places.displayName,places.formattedAddress
Aby pobrać wszystkie pola, użyj parametru
*
.X-Goog-FieldMask: *
Podaj co najmniej 1 z tych pól:
Te pola powodują wyświetlenie SKU w wyszukiwaniu tekstowym (tylko identyfikator):
places.attributions
,places.id
,places.name
*,nextPageToken
* Poleplaces.name
zawiera nazwę zasobu miejsca w formie:places/PLACE_ID
. Użyjplaces.displayName
, aby wyświetlić nazwę tekstową miejsca.Te pola wywołują SKU wyszukiwania tekstowego (podstawowego):
places.accessibilityOptions
,places.addressComponents
,places.adrFormatAddress
,places.businessStatus
,places.containingPlaces
,places.displayName
,places.formattedAddress
,places.googleMapsLinks
*,places.googleMapsUri
,places.iconBackgroundColor
,places.iconMaskBaseUri
,places.location
,places.photos
,places.plusCode
,places.primaryType
,places.primaryTypeDisplayName
,places.pureServiceAreaBusiness
,places.shortFormattedAddress
,places.subDestinations
,places.types
,places.utcOffsetMinutes
,places.viewport
* Poleplaces.googleMapsLinks
znajduje się w fazie przed GA Preview i nie jest płatne, co oznacza, że za korzystanie z niego w fazie Preview nie jest naliczane żadne opłaty.Te pola powodują wyświetlenie wyszukiwania tekstowego (zaawansowanego) SKU:
places.currentOpeningHours
,places.currentSecondaryOpeningHours
,places.internationalPhoneNumber
,places.nationalPhoneNumber
,places.priceLevel
,places.priceRange
,places.rating
,places.regularOpeningHours
,places.regularSecondaryOpeningHours
,places.userRatingCount
,places.websiteUri
Te pola powodują wyświetlenie SKU w wyszukiwarce tekstowej (preferowane):
places.allowsDogs
,places.curbsidePickup
,places.delivery
,places.dineIn
,places.editorialSummary
,places.evChargeOptions
,places.fuelOptions
,places.goodForChildren
,places.goodForGroups
,places.goodForWatchingSports
,places.liveMusic
,places.menuForChildren
,places.parkingOptions
,places.paymentOptions
,places.outdoorSeating
,places.reservable
,places.restroom
,places.reviews
,places.routingSummaries
,*places.servesBeer
,places.servesBreakfast
,places.servesBrunch
,places.servesCocktails
,places.servesCoffee
,places.servesDessert
,places.servesDinner
,places.servesLunch
,places.servesVegetarianFood
,places.servesWine
,places.takeout
* Tylko wyszukiwanie tekstowe i wyszukiwanie w pobliżu
-
textQuery
Tekst, w którym ma być przeprowadzone wyszukiwanie, np. „restauracja”, „123 Ulica Główna” lub „najlepsze miejsce do odwiedzenia w San Francisco”. Interfejs API zwraca dopasowania kandydatów na podstawie tego ciągu znaków i porządkuje wyniki według ich trafności.
Parametry opcjonalne
includedType
Ogranicza wyniki do miejsc pasujących do określonego typu zdefiniowanego w tabeli A. Można podać tylko jeden typ. Na przykład:
"includedType":"bar"
"includedType":"pharmacy"
-
includePureServiceAreaBusinesses
Jeśli ustawisz wartość
true
, odpowiedź będzie zawierać firmy, które odwiedzają klientów lub dostarczają im produkty bezpośrednio, ale nie mają fizycznej lokalizacji firmy. Jeśli ustawisz wartośćfalse
, interfejs API zwróci tylko firmy, które mają fizyczną lokalizację. languageCode
Język, w którym mają być zwracane wyniki.
- Zobacz listę obsługiwanych języków. Google często aktualizuje listę obsługiwanych języków, więc może ona nie być kompletna.
-
Jeśli nie podasz parametru
languageCode
, interfejs API użyje domyślnej wartościen
. Jeśli podasz nieprawidłowy kod języka, API zwróci błądINVALID_ARGUMENT
. - Interfejs API dokłada wszelkich starań, aby podać adres ulicy, który jest czytelny dla użytkownika i mieszkańców. Aby to osiągnąć, zwraca adresy ulic w języku lokalnym, transliterowane do postaci zrozumiałej dla użytkownika, jeśli to konieczne, w preferowanym języku. Wszystkie inne adresy są zwracane w preferowanym języku. Wszystkie elementy adresu są zwracane w tym samym języku, który jest wybierany na podstawie pierwszego komponentu.
- Jeśli nazwa nie jest dostępna w preferowanym języku, interfejs API stosuje najbliższe dopasowanie.
- Preferowany język ma niewielki wpływ na zestaw wyników zwracanych przez interfejs API oraz na ich kolejność. Geokoder interpretuje skróty w różny sposób w zależności od języka, np. skróty typów ulic lub synonimy, które mogą być prawidłowe w jednym języku, ale nie w innym.
locationBias
Określa obszar wyszukiwania. Ta lokalizacja służy jako preferencja, co oznacza, że mogą być zwracane wyniki z okolic wskazanej lokalizacji, w tym poza wskazanym obszarem.
Możesz podać wartość
locationRestriction
lublocationBias
, ale nie obie. Pamiętaj, żelocationRestriction
określa region, w którym muszą się znajdować wyniki, alocationBias
– region, w którym wyniki prawdopodobnie się znajdą lub będą się znajdować w pobliżu, ale mogą się też znajdować poza tym obszarem.Określ region jako prostokątny obszar wyświetlania lub koło.
Okrąg jest definiowany przez punkt środkowy i promień w metrach. Promień musi mieścić się w zakresie od 0,0 do 50 000,0 (włącznie). Domyślny promień to 0,0. Na przykład:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Prostokąt to strefa widocznego obszaru szerokości i długości geograficznej, reprezentowana przez 2 punkty: dolny lewy i górny prawy. Niski punkt oznacza południowo-zachodni róg prostokąta, a wysoki – północno-wschodni.
Widoczny obszar jest uważany za zamknięty obszar, co oznacza, że obejmuje swoją krawędź. Granice szerokości geograficznej muszą mieścić się w przedziale od -90 do 90 stopni, a granice długości geograficznej – w przedziale od -180 do 180 stopni:
- Jeśli
low
=high
, widoczny obszar składa się z tego pojedynczego punktu. - Jeśli
low.longitude
>high.longitude
, zakres długości geograficznej jest odwrócony (widoczny obszar przecina linię długości geograficznej 180°). - Jeśli
low.longitude
= –180 stopni, ahigh.longitude
= 180 stopni, widoczny obszar obejmuje wszystkie długości geograficzne. - Jeśli
low.longitude
= 180 stopni, ahigh.longitude
= –180 stopni, zakres długości geograficznej jest pusty. - Jeśli
low.latitude
>high.latitude
, zakres szerokości geograficznej jest pusty.
Wartości dolna i górna muszą być wypełnione, a reprezentowane pole nie może być puste. Pusta wizjer prowadzi do błędu.
Na przykład ten widok zawiera w pełni Nowy Jork:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- Jeśli
locationRestriction
Określa obszar wyszukiwania. Wyniki spoza określonego obszaru nie są zwracane.
Określ region jako prostokątny widoczny obszar. Przykład definiowania widocznego obszaru znajdziesz w opisie
locationBias
.Możesz podać wartość
locationRestriction
lublocationBias
, ale nie obie. Pamiętaj, żelocationRestriction
określa region, w którym muszą się znajdować wyniki, alocationBias
– region, w którym wyniki prawdopodobnie się znajdą lub będą się znajdować w pobliżu, ale mogą się też znajdować poza tym obszarem.-
maxResultCount (wycofane)
Określa liczbę wyników (od 1 do 20), które mają być wyświetlane na stronie. Jeśli np. ustawisz wartość parametru
maxResultCount
na 5, na pierwszej stronie pojawi się maksymalnie 5 wyników. Jeśli zapytanie może zwrócić więcej wyników, odpowiedź będzie zawierać parametrnextPageToken
, który możesz przekazać w kolejne żądanie, aby uzyskać dostęp do następnej strony. evOptions
Określa parametry identyfikacji dostępnych złączy ładowania pojazdów elektrycznych (EV) i szybkości ładowania.
connectorTypes
Filtry według typu złącza do ładowania EV dostępnego w danym miejscu. Miejsce, które nie obsługuje żadnego z typów złączy, zostanie odfiltrowane. Obsługiwane typy złączy do ładowania pojazdów elektrycznych obejmują ładowarki z kombinowanymi (AC i DC) gniazdami, ładowarki Tesla, ładowarki zgodne ze standardem GB/T (do szybkiego ładowania pojazdów elektrycznych w Chinach) oraz ładowarki do gniazdka ściennego. Więcej informacji znajdziesz w dokumentacji.
minimumChargingRateKw
Filtruje miejsca według minimalnej szybkości ładowania EV w kilowatach (kW). Miejsca z taryfą niższą niż minimalna stawka są wykluczane. Aby na przykład znaleźć ładowarki EV o prędkości ładowania co najmniej 10 kW, możesz ustawić ten parametr na „10”.
minRating
Ogranicza wyniki tylko do tych, których średnia ocena użytkowników jest większa lub równa temu limitowi. Wartości muszą mieścić się w zakresie od 0,0 do 5,0 (włącznie) z wielokrotnością 0,5. Przykład: 0, 0,5, 1,0, ... , 5,0. Wartości są zaokrąglane w górę do najbliższej 0,5. Na przykład wartość 0,6 eliminuje wszystkie wyniki z oceną mniejszą niż 1,0.
openNow
Jeśli
true
, zwracaj tylko te miejsca, które są otwarte w momencie wysłania zapytania. Jeślifalse
, zwraca wszystkie firmy niezależnie od stanu otwarcia. Jeśli ustawisz ten parametr nafalse
, zwracane będą tylko miejsca, które nie podają godzin otwarcia w bazie danych Google Places.pageSize
Określa liczbę wyników (od 1 do 20) wyświetlanych na stronie. Jeśli np. ustawisz wartość parametru
pageSize
na 5, na pierwszej stronie pojawi się maksymalnie 5 wyników. Jeśli zapytanie może zwrócić więcej wyników, odpowiedź będzie zawierać parametrnextPageToken
, który możesz przekazać w kolejne żądanie, aby uzyskać dostęp do następnej strony.pageToken
Określa
nextPageToken
z treści odpowiedzi na poprzedniej stronie.-
priceLevels
Ogranicz wyszukiwanie do miejsc oznaczonych określonymi poziomami cen. Domyślnie wybrane są wszystkie poziomy cen.
Podaj tablicę z co najmniej 1 wartością zdefiniowaną przez
PriceLevel
.Na przykład:
"priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
rankPreference
Określa sposób, w jaki wyniki są klasyfikowane w odpowiedzi na podstawie typu zapytania:
- W przypadku zapytania dotyczącego kategorii, np. „Restauracje w Nowym Jorku”, domyślnie jest używane oznaczenie
RELEVANCE
(uporządkuj wyniki według trafności). Możesz ustawić parametrrankPreference
naRELEVANCE
lubDISTANCE
(uporządkuj wyniki według odległości). - W przypadku zapytania bez kategorii, np. „Mountain View, CA”, zalecamy pozostawienie
rankPreference
puste.
- W przypadku zapytania dotyczącego kategorii, np. „Restauracje w Nowym Jorku”, domyślnie jest używane oznaczenie
regionCode
Kod regionu użyty do sformatowania odpowiedzi, podany jako 2-znakowy kod CLDR. Ten parametr może też wpływać na wyniki wyszukiwania. Nie ma wartości domyślnej.
Jeśli nazwa kraju w polu
formattedAddress
w odpowiedzi jest zgodna z wartością w poluregionCode
, kod kraju jest pomijany w poluformattedAddress
. Ten parametr nie ma wpływu naadrFormatAddress
, który zawsze zawiera nazwę kraju, jeśli jest dostępna, ani nashortFormattedAddress
, który nigdy jej nie zawiera.Większość kodów CLDR jest identyczna z kodami ISO 3166-1, z niektórymi wyjątkami. Na przykład ccTLD Wielkiej Brytanii to „uk” (.co.uk), a jej kod ISO 3166-1 to „gb” (technicznie dla podmiotu „Zjednoczone Królestwo Wielkiej Brytanii i Irlandii Północnej”). Parametr może wpływać na wyniki w zależności od obowiązujących przepisów.
strictTypeFiltering
Używany z parametrem
includedType
. Gdy ustawisz wartośćtrue
, zwracane są tylko miejsca pasujące do typów określonych przezincludeType
. Jeśli wartość jest równa fałsz (wartość domyślna), odpowiedź może zawierać miejsca, które nie pasują do podanych typów.
Przykłady wyszukiwania tekstowego
Znajdowanie miejsca za pomocą ciągu zapytania
Ten przykład pokazuje zapytanie dotyczące wyszukiwania tekstowego o tytule „Spicy Vegetarian Food in Sydney, Australia”:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
Zwróć uwagę, że nagłówek X-Goog-FieldMask
określa, że odpowiedź zawiera te pola danych: places.displayName,places.formattedAddress
.
Odpowiedź ma wtedy postać:
{ "places": [ { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia", "displayName": { "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney", "languageCode": "en" } }, { "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "displayName": { "text": "Peace Harmony", "languageCode": "en" } }, ... ] }
Dodaj do maski pola dodatkowe typy danych, aby zwracać dodatkowe informacje.
Aby na przykład uwzględnić typ restauracji i adres internetowy w odpowiedzi, dodaj places.types,places.websiteUri
:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri' \ 'https://places.googleapis.com/v1/places:searchText'
Odpowiedź ma teraz postać:
{ "places": [ { "types": [ "vegetarian_restaurant", "vegan_restaurant", "chinese_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "websiteUri": "http://www.motherchusvegetarian.com.au/", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "types": [ "vegan_restaurant", "thai_restaurant", "vegetarian_restaurant", "indian_restaurant", "italian_restaurant", "american_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia", "websiteUri": "http://www.veggosizzle.com.au/", "displayName": { "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney", "languageCode": "en" } }, ... ] }
Filtrowanie miejsc według poziomu ceny
Użyj opcji priceLevel
, aby filtrować wyniki do restauracji zdefiniowanych jako niedrogie lub średnio drogie:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"] }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'
W tym przykładzie nagłówek X-Goog-FieldMask
służy też do dodawania pola danych places.priceLevel
do odpowiedzi, więc ma ona postać:
{ "places": [ { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "formattedAddress": "115 King St, Newtown NSW 2042, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Green Mushroom", "languageCode": "en" } }, ... ] }
Dodaj dodatkowe opcje, aby zawęzić wyszukiwanie, np. includedType
, minRating
, rankPreference
, openNow
i inne parametry opisane w sekcji Opcjonalne parametry.
Ogranicz wyszukiwanie do określonego obszaru
Aby ograniczyć wyszukiwanie do obszaru, użyj właściwości locationRestriction
lub locationBias
, ale nie obu naraz. Pamiętaj, że locationRestriction
określa region, w którym muszą się znajdować wyniki, a locationBias
– region, w pobliżu którego muszą się znajdować wyniki, ale nie muszą się znajdować w tym obszarze.
Ograniczanie obszaru za pomocą atrybutu locationRestriction
Aby ograniczyć wyniki zapytania do określonego regionu, użyj parametru locationRestriction
. W treści żądania podaj wartości szerokości i długości geograficznej low
i high
, które definiują granicę regionu.
Ten przykład pokazuje żądanie wyszukiwania tekstowego dotyczące „jedzenia wegetariańskiego” w Nowym Jorku. Ta prośba zwraca tylko pierwsze 10 wyników dla miejsc, które są otwarte.
curl -X POST -d '{ "textQuery" : "vegetarian food", "pageSize" : "10", "locationRestriction": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } } }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
Ustawienie preferencji dla obszaru za pomocą parametru locationBias
Ten przykład pokazuje żądanie wyszukiwania tekstowego dotyczące „jedzenia wegetariańskiego” z preferencją lokalizacji w odległości 500 metrów od punktu w centrum San Francisco. Ta prośba zwraca tylko pierwsze 10 wyników dla miejsc, które są otwarte.
curl -X POST -d '{ "textQuery" : "vegetarian food", "openNow": true, "pageSize": 10, "locationBias": { "circle": { "center": {"latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } }, }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
Wyszukiwanie ładowarek EV z minimalną szybkością ładowania
Użyj opcji minimumChargingRateKw
i connectorTypes
, aby wyszukać miejsca z dostępnymi ładowarkami kompatybilnymi z Twoim pojazdem elektrycznym.
Ten przykład pokazuje żądanie dotyczące ładowarek typu Tesla i J1772 typu 1 EV o minimalnej mocy ładowania 10 kW w Mountain View w Kalifornii. Zwracane są tylko 4 wyniki.
curl -X POST -d '{ "textQuery": "EV Charging Station Mountain View", "pageSize": 4, "evOptions": { "minimumChargingRateKw": 10, "connectorTypes": ["EV_CONNECTOR_TYPE_J1772","EV_CONNECTOR_TYPE_TESLA"] } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.displayName,places.evChargeOptions" \ 'https://places.googleapis.com/v1/places:searchText'
Żądanie zwraca tę odpowiedź:
{ "places": [ { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 16, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_CHADEMO", "maxChargeRateKw": 100, "count": 8, "availableCount": 5, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 100, "count": 2, "availableCount": 2, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 350, "count": 6, "availableCount": 3, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 6, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 100, "count": 4, "availableCount": 3, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 350, "count": 2, "availableCount": 0, "outOfServiceCount": 2, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 5, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_J1772", "maxChargeRateKw": 3.5999999046325684, "count": 1, "availableCount": 0, "outOfServiceCount": 1, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CHADEMO", "maxChargeRateKw": 50, "count": 2, "availableCount": 0, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 50, "count": 2, "availableCount": 0, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "Electric Vehicle Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 10, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_OTHER", "maxChargeRateKw": 210, "count": 10 } ] } } ] }
Wyszukiwanie firm działających na określonym obszarze
Parametr includePureServiceAreaBusinesses
służy do wyszukiwania firm bez adresu fizycznego (np. mobilnej usługi sprzątania lub food trucka).
Ten przykład pokazuje prośbę o pomoc hydraulika w San Francisco:
curl -X POST -d '{ "textQuery" : "plumber San Francisco", "includePureServiceAreaBusinesses": true }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
W odpowiedzi firmy bez adresu fizycznego nie podają pola formattedAddress
:
{ "places": [ { "formattedAddress": "3450 Sacramento St #204, San Francisco, CA 94118, USA", "displayName": { "text": "Advanced Plumbing & Drain", "languageCode": "en" } }, { "formattedAddress": "1455 Bancroft Ave, San Francisco, CA 94124, USA", "displayName": { "text": "Magic Plumbing Heating & Cooling", "languageCode": "en" } }, /.../ { "displayName": { "text": "Starboy Plumbing Inc.", "languageCode": "en" } }, { "formattedAddress": "78 Dorman Ave, San Francisco, CA 94124, USA", "displayName": { "text": "Cabrillo Plumbing, Heating & Air", "languageCode": "en" } }, { "formattedAddress": "540 Barneveld Ave # D, San Francisco, CA 94124, USA", "displayName": { "text": "Mr. Rooter Plumbing of San Francisco", "languageCode": "en" } }, /.../ { "displayName": { "text": "Pipeline Plumbing", "languageCode": "en" } }, { "formattedAddress": "350 Bay St #100-178, San Francisco, CA 94133, USA", "displayName": { "text": "One Source Plumbing and Rooter", "languageCode": "en" } }, /.../ ] }
Określ liczbę wyników zwracanych na stronę
Parametr pageSize
służy do określenia liczby wyników zwracanych na stronę. Parametr nextPageToken
w ciele odpowiedzi zawiera token, który można użyć w kolejnych wywołaniach, aby uzyskać dostęp do następnej strony wyników.
Na przykładzie poniżej pokazano żądanie dotyczące „pizzy w Nowym Jorku” ograniczone do 5 wyników na stronę:
curl -X POST -d '{ "textQuery": "pizza in New York", "pageSize": 5 }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.id,nextPageToken" \ 'https://places.googleapis.com/v1/places:searchText'
{ "places": [ { "id": "ChIJifIePKtZwokRVZ-UdRGkZzs" }, { "id": "ChIJPxPd_P1YwokRfzLhSiACEoU" }, { "id": "ChIJrXXKn5NZwokR78g0ipCnY60" }, { "id": "ChIJ6ySICVZYwokR9rIK8HjXhzE" }, { "id": "ChIJ6xvs94VZwokRnT1D2lX2OTw" } ], "nextPageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q" }
Aby uzyskać dostęp do następnej strony wyników, użyj pageToken
, aby przekazać nextPageToken
w treści żądania:
curl -X POST -d '{ "textQuery": "pizza in New York", "pageSize": 5, "pageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.id,nextPageToken" \ 'https://places.googleapis.com/v1/places:searchText'
{ "places": [ { "id": "ChIJL-LN1N1ZwokR8K2jACu6Ydw" }, { "id": "ChIJjaD94kFZwokR-20CXqlpy_4" }, { "id": "ChIJ6ffdpJNZwokRmcafdROM5q0" }, { "id": "ChIJ8Q2WSpJZwokRQz-bYYgEskM" }, { "id": "ChIJ8164qwFZwokRhplkmhvq1uE" } ], "nextPageToken": "AeCrKXvPd6uUy-oj96W2OaqEe2pUD8QTxOM8-sKfUcFsC9t2Wey5qivrKGoGSxcZnyc7RPmaFfAktslrKbUh31ZDTkL0upRmaxA7c_c" }
Wypróbuj
Narzędzie API Explorer umożliwia wysyłanie przykładowych żądań, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami.
Po prawej stronie strony kliknij ikonę API .
Opcjonalnie rozwiń Pokaż parametry standardowe i ustaw parametr
fields
na maskę pola.Opcjonalnie możesz zmodyfikować tekst prośby.
Kliknij przycisk Wykonaj. W wyskakującym okienku wybierz konto, którego chcesz użyć do wysłania żądania.
W panelu API Explorer kliknij ikonę rozwijania , aby rozwinąć okno API Explorer.