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 wykonywania 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ładami niejednoznacznych zapytań dotyczących adresu są źle sformatowane adresy lub żądania zawierające elementy inne niż adres, takie jak nazwy firm. Jeśli nie określisz lokalizacji, np. regionu, ograniczenia lub preferencji, żądania takie jak pierwsze dwa przykłady w tabeli poniżej mogą zwrócić zero wyników.
„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 ulicznego, 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 APIs 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 tekstowe 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 w wyszukiwaniu tekstowym (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 zapytania
*
.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 naliczana opłata.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. ParametrlocationRestriction
określa region, w którym muszą się znajdować wyniki, a parametrlocationBias
– region, w którym wyniki prawdopodobnie się znajdują lub znajdują się w pobliżu tego regionu, ale mogą się znajdować też poza nim.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 widoku szerokości i długości geograficznej, reprezentowana przez 2 punkty: dolny i górny, leżące naprzeciw siebie. 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. ParametrlocationRestriction
określa region, w którym muszą się znajdować wyniki, a parametrlocationBias
– region, w którym wyniki prawdopodobnie się znajdują lub znajdują się w pobliżu tego regionu, ale mogą się znajdować też poza nim.-
maxResultCount (wycofane)
Określa liczbę wyników (od 1 do 20) wyświetlanych 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.
- Aby przefiltrować wyniki pod kątem określonego obsługiwanego łącznika, ustaw wartość
connectorTypes
na tę wartość. Jeśli na przykład chcesz znaleźć złącza J1772 typu 1, ustaw wartość parametruconnectorTypes
naEV_CONNECTOR_TYPE_J1772
. - Aby filtrować wyniki dla nieobsługiwanych połączeń, ustaw wartość parametru
connectorTypes
naEV_CONNECTOR_TYPE_OTHER
. - Aby odfiltrować wyniki pod kątem dowolnego typu złącza, które jest gniazdem ściennym, ustaw wartość
connectorTypes
naEV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET
. - Aby odfiltrować wyniki dla dowolnego typu złącza, ustaw wartość
connectorTypes
naEV_CONNECTOR_TYPE_UNSPECIFIED
lub nie ustawiaj wartościconnectorTypes
.
- Aby przefiltrować wyniki pod kątem określonego obsługiwanego łącznika, ustaw wartość
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żywany parametr
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 parametru
rankPreference
niezaznaczonego.
- W przypadku zapytania dotyczącego kategorii, np. „Restauracje w Nowym Jorku”, domyślnie jest używany parametr
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
. Jeśli ustawisz tę wartość natrue
, zwrócone zostaną tylko miejsca pasujące do typów określonych przezincludeType
. Jeśli wartość jest równa fałsz (domyślnie), odpowiedź może zawierać miejsca, które nie pasują do podanych typów.
Przykłady wyszukiwania tekstowego
Znajdowanie miejsca za pomocą ciągu zapytania
Poniższy 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 Parametry opcjonalne.
Ograniczenie wyszukiwania 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 wykorzystać 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 APIs 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ę interfejsu API api.
Opcjonalnie możesz zmodyfikować parametry żądania.
Kliknij przycisk Wykonaj. W oknie wybierz konto, którego chcesz użyć do wysłania prośby.
W panelu narzędzia APIs Explorer kliknij ikonę pełnego ekranu Pełny ekran, aby rozwinąć okno narzędzia APIs Explorer.