Uma Pesquisa de texto (novo) retorna informações sobre um conjunto de lugares com base em uma string, por exemplo, "pizza em São Paulo", "loja de sapatos perto do Rio de Janeiro" ou "Avenida Brasil, 123". O serviço responde com uma lista de locais correspondentes à string de texto e a todos os direcionamentos de localização definidos.
O serviço é particularmente útil para fazer consultas de endereço ambíguas em um sistema automatizado, e componentes da string que não fazem parte do endereço podem corresponder a empresas e endereços. Exemplos de consultas de endereço ambíguas são endereços mal formatados ou solicitações que incluem componentes que não fazem parte do endereço, como nomes de empresas. Solicitações como os dois primeiros exemplos na tabela a seguir podem retornar zero resultados, a menos que um local, como região, restrição de local ou viés de local, seja definido.
"10 High Street, Reino Unido" ou "123 Main Street, EUA" | Várias "High Street" no Reino Unido; várias "Main Street" nos EUA. A consulta não retorna resultados desejados, a menos que uma restrição de local seja definida. |
"ChainRestaurant New York" | Vários locais da "ChainRestaurant" em Nova York, sem endereço ou nome de rua. |
"10 High Street, Escher UK" ou "123 Main Street, Pleasanton US" | Há apenas uma "High Street" na cidade de Escher, no Reino Unido, e apenas uma "Main Street" na cidade de Pleasanton, na Califórnia, nos EUA. |
"UniqueRestaurantName New York" | Apenas um estabelecimento com esse nome em Nova York; nenhum endereço necessário para diferenciar. |
"pizza restaurants in New York" | Essa consulta contém a restrição de local, e "pizza restaurants" é um tipo de lugar bem definido. Ela retorna vários resultados. |
"+1 514-670-8700" | Esta consulta contém um número de telefone. Ele retorna vários resultados para lugares associados a esse número de telefone. |
O API Explorer permite fazer solicitações em tempo real para que você se familiarize com a API e as opções dela:
Solicitações do Text Search
Uma solicitação de pesquisa de texto é um HTTP POST com o seguinte formato:
https://places.googleapis.com/v1/places:searchText
Transmita todos os parâmetros no corpo da solicitação JSON ou nos cabeçalhos como parte da solicitação POST. Exemplo:
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'
Respostas da Text Search (nova)
O Text Search (novo) retorna um objeto JSON como resposta. Na resposta:
- A matriz
places
contém todos os lugares correspondentes. - Cada lugar na matriz é representado por um objeto
Place
. O objetoPlace
contém informações detalhadas sobre um único lugar. - O FieldMask transmitido na solicitação especifica a lista de campos retornados no objeto
Place
.
O objeto JSON completo está no formato:
{ "places": [ { object (Place) } ] }
Parâmetros obrigatórios
-
FieldMask
Especifique a lista de campos a serem retornados na resposta criando uma máscara de campo de resposta. Transmita a máscara de campo de resposta para o método usando o parâmetro de URL
$fields
oufields
ou o cabeçalho HTTPX-Goog-FieldMask
. Não há uma lista padrão de campos retornados na resposta. Se você omitir a máscara de campo, o método vai retornar um erro.O mascaramento de campo é uma boa prática de design para garantir que você não solicite dados desnecessários, o que ajuda a evitar tempo de processamento e cobranças desnecessários.
Especifique uma lista separada por vírgulas de tipos de dados de lugar a serem retornados. Por exemplo, para recuperar o nome de exibição e o endereço do lugar.
X-Goog-FieldMask: places.displayName,places.formattedAddress
Use
*
para recuperar todos os campos.X-Goog-FieldMask: *
Especifique um ou mais dos seguintes campos:
Os campos a seguir acionam a SKU Text Search (somente ID):
places.attributions
,places.id
,places.name
*,nextPageToken
* O campoplaces.name
contém o nome do recurso do lugar no formulário:places/PLACE_ID
. Useplaces.displayName
para acessar o texto do nome do lugar.Os campos a seguir acionam a SKU do Text Search (Basic):
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
* O campoplaces.googleMapsLinks
está na fase de pré-lançamento do GA4 e não há cobrança, ou seja, o faturamento é de US $0, para uso durante a fase de pré-lançamento.Os campos a seguir acionam o SKU Text Search (Advanced):
places.currentOpeningHours
,places.currentSecondaryOpeningHours
,places.internationalPhoneNumber
,places.nationalPhoneNumber
,places.priceLevel
,places.priceRange
,places.rating
,places.regularOpeningHours
,places.regularSecondaryOpeningHours
,places.userRatingCount
,places.websiteUri
Os campos a seguir acionam a SKU do Text Search (preferencial):
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
-
textQuery
A string de texto em que pesquisar, por exemplo, "restaurante", "Rua Principal, 123" ou "melhor lugar para visitar em São Francisco". A API retorna correspondências possíveis de acordo com essa string e ordena os resultados com base na relevância percebida.
Parâmetros opcionais
includedType
Restringe os resultados aos lugares correspondentes ao tipo especificado definido pela Tabela A. Só é possível especificar um tipo. Exemplo:
"includedType":"bar"
"includedType":"pharmacy"
-
includePureServiceAreaBusinesses
Se definido como
true
, a resposta inclui empresas que visitam ou entregam produtos diretamente aos clientes, mas não têm um local comercial físico. Se definido comofalse
, a API vai retornar apenas empresas com um local físico. languageCode
O idioma em que os resultados serão retornados.
- Consulte a lista de idiomas aceitos. O Google atualiza os idiomas suportados com frequência, portanto, esta lista pode não estar completa.
-
Se
languageCode
não for fornecido, a API vai usar o padrãoen
. Se você especificar um código de idioma inválido, a API retornará um erroINVALID_ARGUMENT
. - A API faz o possível para fornecer um endereço residencial legível tanto para o usuário quanto para os locais. Para atingir este objetivo, ele retorna os endereços residenciais no idioma local, transliterado para um script legível pelo usuário, se necessário, observando o idioma preferencial. Todos os outros endereços são retornados no idioma preferencial. Os componentes de endereço são todos retornados no mesmo idioma, escolhido pelo primeiro componente.
- Se um nome não estiver disponível no idioma preferencial, a API vai usar a correspondência mais próxima.
- O idioma preferencial tem uma pequena influência no conjunto de resultados que a API escolhe para retornar e na ordem em que é retornado. O codificador geográfico interpreta abreviações de formas variadas dependendo do idioma, como abreviações de tipos de rua ou sinônimos que podem ser válidos em um idioma, mas não em outros.
locationBias
Especifica uma área a ser pesquisada. Esse local serve como uma polarização, o que significa que os resultados em torno do local especificado podem ser retornados, incluindo resultados fora da área especificada.
É possível especificar
locationRestriction
oulocationBias
, mas não ambos. Pense emlocationRestriction
como a especificação da região em que os resultados precisam estar e emlocationBias
como a especificação da região em que os resultados provavelmente estarão ou perto dela, mas podem estar fora da área.Especifique a região como uma janela de visualização retangular ou como um círculo.
Um círculo é definido pelo ponto central e pelo raio em metros. O raio precisa estar entre 0,0 e 500.000,0. O raio padrão é 0,0. Exemplo:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Um retângulo é uma janela de visualização de latitude-longitude, representada como dois pontos baixos e altos diagonalmente opostos. O ponto mais baixo marca o canto sudoeste do retângulo, e o ponto mais alto representa o canto nordeste do retângulo.
Uma viewport é considerada uma região fechada, ou seja, ela inclui o limite. Os limites de latitude precisam variar entre -90 e 90 graus, e os limites de longitude precisam variar entre -180 e 180 graus:
- Se
low
=high
, a viewport consiste nesse único ponto. - Se
low.longitude
for maior quehigh.longitude
, o intervalo de longitude será invertido (a janela de visualização cruza a linha de longitude de 180 graus). - Se
low.longitude
= -180 graus ehigh.longitude
= 180 graus, a viewport inclui todas as longitudes. - Se
low.longitude
= 180 graus ehigh.longitude
= -180 graus, o intervalo de longitude estará vazio. - Se
low.latitude
>high.latitude
, o intervalo de latitude estará vazio.
Os valores mínimo e máximo precisam ser preenchidos, e a caixa representada não pode estar vazia. Uma viewport vazia resulta em um erro.
Por exemplo, esta viewport inclui toda a cidade de Nova York:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- Se
locationRestriction
Especifica uma área a ser pesquisada. Os resultados fora da área especificada não são retornados. Especifique a região como uma janela de visualização retangular. Consulte a descrição de
locationBias
para informações sobre como definir o viewport.É possível especificar
locationRestriction
oulocationBias
, mas não ambos. Pense emlocationRestriction
como a especificação da região em que os resultados precisam estar e emlocationBias
como a especificação da região em que os resultados provavelmente estarão ou perto dela, mas podem estar fora da área.-
maxResultCount (descontinuado)
Especifica o número de resultados (entre 1 e 20) a serem mostrados por página. Por exemplo, definir um valor de
maxResultCount
como 5 vai retornar até cinco resultados na primeira página. Se houver mais resultados que podem ser retornados pela consulta, a resposta incluirá umnextPageToken
que poderá ser transmitido para uma solicitação subsequente para acessar a próxima página. evOptions
Especifica parâmetros para identificar os conectores de carregamento e as taxas de carregamento disponíveis para veículos elétricos (VEs).
connectorTypes
Filtra pelo tipo de conector de carregamento de VE disponível em um lugar. Um lugar que não oferece suporte a nenhum dos tipos de conector é filtrado. Os tipos de conector de carregamento de VE com suporte incluem carregadores combinados (AC e CC), carregadores Tesla, em conformidade com GB/T (para carregamento rápido de VE na China) e carregadores de tomadas. Para mais informações, consulte a documentação de referência.
minimumChargingRateKw
Filtra lugares pela taxa mínima de recarga de VEs em quilowatts (kW). Os lugares com uma taxa de carregamento menor que a taxa mínima são filtrados. Por exemplo, para encontrar carregadores de VE com taxas de carregamento de pelo menos 10 kW, defina esse parâmetro como "10".
minRating
Restringe os resultados apenas para aqueles com classificação média do usuário maior ou igual a esse limite. Os valores precisam estar entre 0,0 e 5,0 (inclusive) em incrementos de 0,5. Por exemplo: 0, 0,5, 1, ... , 5, inclusive. Os valores são arredondados para a casa decimal mais próxima. Por exemplo, um valor de 0,6 elimina todos os resultados com uma classificação menor que 1,0.
openNow
Se
true
, retorna apenas os locais que estão abertos para funcionamento no momento em que a consulta é enviada. Se forfalse
, retorne todas as empresas, independente do status de abertura. Os lugares que não especificam o horário de funcionamento no banco de dados do Google Places são retornados se você definir esse parâmetro comofalse
.pageSize
Especifica o número de resultados (entre 1 e 20) a serem mostrados por página. Por exemplo, definir um valor de
pageSize
como 5 vai retornar até cinco resultados na primeira página. Se houver mais resultados que podem ser retornados pela consulta, a resposta incluirá umnextPageToken
que poderá ser transmitido para uma solicitação subsequente para acessar a próxima página.pageToken
Especifica o
nextPageToken
do corpo da resposta da página anterior.-
priceLevels
Restringir a pesquisa a lugares marcados em determinados níveis de preço. O padrão é selecionar todos os níveis de preço.
Especifique uma matriz de um ou mais valores definidos por
PriceLevel
.Exemplo:
"priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
rankPreference
Especifica como os resultados são classificados na resposta com base no tipo de consulta:
- Para uma consulta categórica, como "Restaurantes em Nova York",
RELEVANCE
(classificar resultados por relevância da pesquisa) é o padrão. É possível definirrankPreference
comoRELEVANCE
ouDISTANCE
(classificar os resultados por distância). - Para uma consulta não categórica, como "Mountain View, CA", recomendamos
deixar
rankPreference
sem definição.
- Para uma consulta categórica, como "Restaurantes em Nova York",
regionCode
O código de região usado para formatar a resposta, especificado como um valor de código CLDR de dois caracteres. Esse parâmetro também pode ter um efeito enviesado nos resultados da pesquisa. Não há valor padrão.
Se o nome do país do campo
formattedAddress
na resposta corresponder aregionCode
, o código do país será omitido deformattedAddress
. Esse parâmetro não tem efeito emadrFormatAddress
, que sempre inclui o nome do país quando disponível, ou emshortFormattedAddress
, que nunca inclui.A maioria dos códigos CLDR é idêntica aos códigos ISO 3166-1, com algumas exceções notáveis. Por exemplo, o ccTLD do Reino Unido é "uk" (.co.uk), enquanto o código ISO 3166-1 é "gb" (tecnicamente, para a entidade "Reino Unido da Grã-Bretanha e da Irlanda do Norte"). O parâmetro pode afetar os resultados com base na legislação aplicável.
strictTypeFiltering
Usado com o parâmetro
includedType
. Quando definido comotrue
, apenas os lugares que correspondem aos tipos especificados porincludeType
são retornados. Quando é falso, o padrão, a resposta pode conter lugares que não correspondem aos tipos especificados.
Exemplos de pesquisa de texto
Encontrar um lugar por string de consulta
O exemplo a seguir mostra uma solicitação do Text Search para "Comida vegetariana picante em Sydney, Austrália":
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'
O cabeçalho X-Goog-FieldMask
especifica que a
resposta
contém os seguintes campos de dados: places.displayName,places.formattedAddress
.
A resposta é então no formato:
{ "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" } }, ... ] }
Adicione mais tipos de dados à máscara de campo para retornar mais informações.
Por exemplo, adicione places.types,places.websiteUri
para incluir o tipo de restaurante e o endereço da Web na resposta:
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'
A resposta agora está no formato:
{ "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" } }, ... ] }
Filtrar lugares por nível de preço
Use a opção priceLevel
para filtrar os resultados para restaurantes definidos como baratos ou moderadamente caros:
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'
Esse exemplo também usa o cabeçalho X-Goog-FieldMask
para adicionar o
campo de dados places.priceLevel
à
resposta
no formato:
{ "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" } }, ... ] }
Adicione outras opções para refinar a pesquisa, como includedType
,
minRating
, rankPreference
, openNow
e outros parâmetros descritos em
Parâmetros opcionais.
Pesquisar lugares em uma área
Use locationRestriction
ou locationBias
, mas não ambos, para restringir uma pesquisa a uma área. Pense em locationRestriction
como a especificação da região em que os resultados precisam estar e em locationBias
como a especificação da região em que os resultados precisam estar próximos, mas podem estar fora da
área.
O exemplo a seguir mostra uma solicitação de pesquisa de texto para "Spicy Vegetarian Food" com viés para estar a 500 metros de um ponto no centro de São Francisco. Essa solicitação retorna apenas os primeiros 10 resultados para lugares abertos.
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'
Pesquisar carregadores de VE com taxa mínima
Use minimumChargingRateKw
e connectorTypes
para
pesquisar lugares com carregadores disponíveis compatíveis com seu VE.
O exemplo a seguir mostra uma solicitação para conectores de carregamento de VEs Tesla e J1772 tipo 1 com uma taxa de carregamento mínima de 10 kW em Mountain View, CA. Apenas quatro resultados são retornados.
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'
A solicitação retorna a seguinte resposta:
{ "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 } ] } } ] }
Pesquisar empresas de serviço local
Use o parâmetro includePureServiceAreaBusinesses
para pesquisar empresas sem endereço de serviço físico (por exemplo, um serviço de limpeza móvel ou um food truck).
O exemplo a seguir mostra uma solicitação de encanadores em São 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'
Na resposta, as empresas sem um endereço de serviço físico não incluem o campo 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" } }, /.../ ] }
Especificar um número de resultados a serem retornados por página
Use o parâmetro pageSize
para especificar um número de resultados a serem
retornados por página. O parâmetro nextPageToken
no corpo da resposta
fornece um token que pode ser usado em chamadas subsequentes para acessar a próxima página de
resultados.
O exemplo a seguir mostra uma solicitação de "pizza em Nova York" limitada a cinco resultados por página:
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" }
Para acessar a próxima página de resultados, use pageToken
para transmitir o
nextPageToken
no corpo da solicitação:
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" }
Confira!
O API Explorer permite fazer solicitações de amostra para que você se familiarize com a API e as opções dela.
Selecione o ícone da API, , no lado direito da página.
Opcionalmente, abra Mostrar parâmetros padrão e defina o parâmetro
fields
como a máscara de campo.Se preferir, edite o corpo da solicitação.
Selecione o botão Executar. Na caixa de diálogo pop-up, escolha a conta que você quer usar para fazer a solicitação.
No painel do API Explorer, selecione o ícone de expansão, , para abrir a janela do API Explorer.