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 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:

Wypróbuj

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. Obiekt Place 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 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

    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

      * Pole places.name zawiera nazwę zasobu miejsca w formie: places/PLACE_ID. Użyj places.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

      * 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ź 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ści en. Jeśli podasz nieprawidłowy kod języka, API zwróci błąd INVALID_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 lub locationBias, ale nie obie. Pamiętaj, że locationRestriction określa region, w którym muszą się znajdować wyniki, a locationBias – 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, 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. 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
          }
        }
      }
  • 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 lub locationBias, ale nie obie. Pamiętaj, że locationRestriction określa region, w którym muszą się znajdować wyniki, a locationBias – 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ć 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.

    • 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śli false, zwraca wszystkie firmy niezależnie od stanu otwarcia. Jeśli ustawisz ten parametr na false, 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ć 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 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ć parametr rankPreference na RELEVANCE lub DISTANCE (uporządkuj wyniki według odległości).
    • W przypadku zapytania bez kategorii, np. „Mountain View, CA”, zalecamy pozostawienie rankPreference puste.
  • 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 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 (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 lowhigh, 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 minimumChargingRateKwconnectorTypes, 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.

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

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

  3. Opcjonalnie możesz zmodyfikować tekst prośby.

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

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