Wyszukiwanie tekstu (nowość)

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łady niejednoznacznych zapytań dotyczących adresu to słabo sformatowane adresy lub żądania zawierające składniki niezwiązane z adresem, 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.

„ul. Główna 10, Wielka Brytania” lub „ul. Główna 123, USA” Wiele „High Street” w Wielkiej Brytanii; wiele „Main Street” w Stanach Zjednoczonych. Zapytanie nie zwraca pożądanych wyników, jeśli nie ustawiono ograniczenia lokalizacji.
„ChainRestaurant New York” Wiele lokalizacji „ChainRestaurant” w Nowym Jorku; brak adresu ulicy ani nawet nazwy ulicy.
„ul. Główna 10, Warszawa” lub „ul. Główna 123, Pleasanton PL” 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 1 instytucja o tej nazwie w Nowym Jorku; do odróżnienia nie trzeba podawać adresu.
„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 ono wiele wyników dotyczących 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:

Wypróbuj

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)

Text Search (nowość) zwraca obiekt JSON jako odpowiedź. W odpowiedzi:

  • Tablica places zawiera wszystkie pasujące miejsca.
  • Każde miejsce w tablicy jest reprezentowane przez obiekt Place. Obiekt Place zawiera szczegółowe informacje o poszczególnych miejscach.
  • FieldMask przekazana 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ż maskę pola odpowiedzi do metody, używając parametru adresu URL $fields lub fields albo nagłówka HTTP X-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

    Użyj *, aby pobrać wszystkie pola.

    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

      * Pole places.name zawiera nazwę zasobu miejsca w formie: places/PLACE_ID. Użyj places.displayName, aby wyświetlić nazwę tekstową miejsca.
    • Te pola aktywują kod 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

      * Pole places.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ź obejmuje firmy, które świadczą usługi bezpośrednio u klientów, ale nie mają fizycznej lokalizacji. Jeśli ustawisz wartość false, interfejs API zwróci tylko te firmy, które mają fizyczną lokalizację firmy.

  • 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 podano languageCode, domyślną wartością interfejsu API jest en. Jeśli podasz nieprawidłowy kod języka, API zwróci błąd INVALID_ARGUMENT.
    • Interfejs API stara się podać adres ulicy, który jest czytelny zarówno dla użytkownika, jak i dla mieszkańców. Aby osiągnąć ten cel, zwraca adresy w języku lokalnym, transliterację na skrypt, który w razie potrzeby może odczytać użytkownik, z zachowaniem preferowanego języka. 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 kolejność, w jakiej są one zwracane. Geokoder różnie interpretuje skróty w zależności od języka. Mogą to być na przykład skróty poszczególnych typów ulic lub synonimy, które mogą być prawidłowe w jednym języku, a w innym nie.
  • 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 lub locationBias, ale nie obie. Parametr locationRestriction określa region, w którym muszą się znajdować wyniki, a parametr locationBias – 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 widoczny lub okrągły obszar.

    • 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. Punkt dolny oznacza południowy róg prostokąta, a najwyższy – północno-wschodni róg prostokąta.

      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, a high.longitude = 180 stopni, widoczny obszar obejmuje wszystkie długości geograficzne.
      • Jeśli low.longitude = 180 stopni, a high.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. Gdy to zrobisz, pojawi się błąd.

      Na przykład ten widoczny obszar w całości obejmuje Nowy Jork:

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • locationRestriction

    Określa obszar wyszukiwania. Wyniki spoza określonego obszaru nie są zwracane. Określ region jako prostokątny widoczny obszar. Informacje o definiowaniu widocznego obszaru znajdziesz w opisie obiektu locationBias.

    Możesz podać wartość locationRestriction lub locationBias, ale nie obie. Parametr locationRestriction określa region, w którym muszą się znajdować wyniki, a parametr locationBias – region, w którym wyniki prawdopodobnie się znajdują lub znajdują się w pobliżu tego regionu, ale mogą się znajdować też poza nim.

  • maxResultCount (wycofany)

    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ć parametr nextPageToken, 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 referencyjnej.

    • minimumChargingRateKw

      Filtruje miejsca według minimalnej szybkości ładowania EV w kilowatach (kW). Wszystkie miejsca, w których ceny są mniejsze niż minimalna, zostaną odfiltrowane. Aby na przykład znaleźć ładowarki EV, których moc ładowania wynosi 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 przedziale 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 wielokrotności 0,5. Na przykład wartość 0,6 eliminuje wszystkie wyniki o ocenie niższej niż 1,0.

  • openNow

    Jeśli true, zwracaj tylko te miejsca, które są otwarte w momencie wysłania zapytania. W przypadku wartości false zwróć wszystkie firmy niezależnie od tego, czy są otwarte. Miejsca, które nie określają godzin otwarcia w bazie danych Miejsc Google, są zwracane, jeśli ustawisz ten parametr na wartość false.

  • 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ć parametr nextPageToken, 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 kolejność wyników w odpowiedzi na podstawie typu zapytania:

    • W przypadku zapytania kategorialnego, takiego jak „Restauracje w Nowym Jorku”, domyślna wartość to RELEVANCE (ranking wyników według trafności wyszukiwania). Możesz ustawić rankPreference na RELEVANCE lub DISTANCE (ranking wyników według dystansu).
    • W przypadku zapytania bez kategorii, np. „Mountain View, CA”, zalecamy pozostawienie rankPreference niezaznaczonego.
  • regionCode

    Kod regionu używany do formatowania odpowiedzi podany jako wartość dwuznakowego kodu CLDR. Ten parametr może też mieć wpływ na wyniki wyszukiwania. Nie ma wartości domyślnej.

    Jeśli nazwa kraju w polu formattedAddress w odpowiedzi jest zgodna z wartością w polu regionCode, kod kraju jest pomijany w polu formattedAddress. Ten parametr nie ma wpływu na adrFormatAddress, który zawsze zawiera nazwę kraju, jeśli jest dostępna, ani na shortFormattedAddress, 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 (domyślnie), odpowiedź może zawierać miejsca, które nie pasują do podanych typów.

Przykłady wyszukiwania tekstowego

Znajdź miejsce na podstawie 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"
      }
    },
    ...
  ]
}

Aby zwracać dodatkowe informacje, dodaj do maski pola więcej typów danych. Na przykład dodaj atrybut places.types,places.websiteUri, aby w odpowiedzi uwzględnić typ restauracji i adres internetowy:

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.

Wyszukiwanie miejsc na obszarze

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.

Ten przykład pokazuje prośbę o wyszukiwanie tekstowe o hasłach „Wędzona wegetariańska żywność” z preferencją lokalizacji w odległości do 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" : "Spicy 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'

Szukaj ładowarki EV z minimalną szybkością ładowania

Użyj minimumChargingRateKw i connectorTypes, by wyszukać miejsca z dostępnymi ładowarkami pasującymi do Twojego pojazdu elektrycznego.

Ten przykład pokazuje żądanie dotyczące ładowarek typu Tesla i J1772 typu 1 do ładowania pojazdów elektrycznych o minimalnej szybkości ł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. mobilna usługa sprzątania lub food truck).

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 treści odpowiedzi zawiera token, którego można użyć w kolejnych wywołaniach w celu uzyskania dostępu do następnej strony wyników.

Na przykładzie poniżej pokazano żądanie „pizza 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.

  1. Po prawej stronie strony kliknij ikonę API Rozwiń narzędzie API Explorer..

  2. Opcjonalnie rozwiń opcję Pokaż parametry standardowe i ustaw parametr fields na maskę pola.

  3. Opcjonalnie edytuj Treść żądania.

  4. Kliknij przycisk Wykonaj. W wyskakującym okienku wybierz konto, którego chcesz użyć do przesłania prośby.

  5. W panelu API Explorer kliknij ikonę rozwijania Rozwiń narzędzie API Explorer., aby rozwinąć okno API Explorer.