Um
Destination
se refere a um local ou lugar específico que um usuário pretende alcançar ou navegar
até ele. Um Destination também inclui uma coleção de informações relacionadas ao local, como pontos de navegação, pontos de referência, entradas e contornos de edifícios.
O método SearchDestinations da API Geocoding permite recuperar informações detalhadas sobre vários destinos com base em diferentes critérios de entrada, como endereço, ID de lugar ou coordenadas de latitude e longitude.
Solicitação de pesquisa de destinos
Uma solicitação de pesquisa de destinos é uma solicitação POST HTTP para um URL no formato:
https://geocode.googleapis.com/v4/geocode/destinations
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 '{
"place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
É possível especificar o local para pesquisar um destino de três maneiras:
- Endereço
- ID do lugar
- Coordenadas de latitude e longitude
Pesquisar um destino por endereço
É possível especificar o endereço como uma string não estruturada. A geocodificação de endereços não resolve coordenadas de latitude e longitude ou outras strings não estruturadas que não representam um endereço. As solicitações que usam essas strings não são compatíveis e podem levar a respostas de erro ou comportamento não especificado. Veja alguns exemplos de consultas não compatíveis:
| Tipo de consulta | Exemplo |
|---|---|
| Coordenadas de latitude e longitude. Use uma consulta de local. | "37.422131,-122.084801" |
| Muitos conceitos ou restrições, como os nomes de vários lugares, vias ou cidades em uma única consulta | "Market Street San Francisco San Jose Airport" |
| Elementos de endereço postal não representados no Google Maps |
"A/C João da Silva, Rua Principal, 123" "Caixa Postal 13, São Paulo" |
| Nomes de empresas, franquias ou categorias combinados com locais onde essas entidades não estão disponíveis | "Tesco perto de Dallas, Texas" |
| Consultas ambíguas com várias interpretações | "Entrega de carregador" |
| Nomes históricos que não estão mais em uso | "Middlesex United Kingdom" |
| Elementos ou intenções não geoespaciais | "Quantos barcos estão no porto de Ventura?" |
| Nomes não oficiais ou personalizados |
"The Jenga" "The Helter Skelter" |
| Grandes entidades políticas (cidades, estados, países) |
"New York City" "California" "USA" |
| Rotas sem endereços específicos |
"1st Ave., NYC, NY" "I-95" |
curl -X POST -d '{
"addressQuery": {
"addressQuery": "601 S Bernardo Ave, Sunnyvale, CA 94087, USA"
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
ou como um
postalAddress:
curl -X POST -d '{
"addressQuery": {
"address": {
"addressLines": ["601 S Bernardo Ave"],
"locality": "Sunnyvale",
"postalCode": "94087",
"administrativeArea": "CA",
"regionCode": "US"
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
Normalmente, o formato postalAddress é usado ao processar componentes de endereço capturados em um formulário HTML.
Pesquisar um destino por ID de lugar
Para recuperar um destino, forneça um ID de lugar:
curl -X POST -d '{
"place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
IDs de lugar compatíveis
O método Search Destinations funciona melhor com IDs de lugar que representam destinos específicos e navegáveis. Os IDs de lugar para tipos como establishment, point_of_interest, premise, street_address e subpremise geralmente são aceitos. Os IDs de lugar que não representam locais específicos, como aqueles inferidos de intervalos de endereços (por exemplo, "Rua Principal, 10-20"), trechos de um trajeto sem um número específico ou Plus Codes não são aceitos. Os IDs de lugar para resultados que são muito grandes em área (por exemplo, "Oceano Pacífico") também não são compatíveis.
Usar o Autocomplete (novo) com o Search Destinations
Para garantir a compatibilidade, use o Autocomplete (novo) para encontrar IDs de lugar que podem ser usados com os destinos de pesquisa. Ao usar o Autocomplete (novo), filtre os resultados por tipo usando o parâmetro includedPrimaryTypes. Os IDs de lugar retornados pelo Autocomplete (novo) usando o seguinte filtro recomendado são compatíveis com o Search Destinations:
"includedPrimaryTypes": [ "establishment", "point_of_interest", "premise", "street_address", "subpremise" ]
Além disso, não defina a flag include_pure_service_area_businesses como true na solicitação do Autocomplete (New).
Pesquisar um destino por local
Você pode pesquisar um destino fornecendo coordenadas de latitude e longitude:
curl -X POST -d '{
"locationQuery": {
"location": {
"latitude": 37.37348780,
"longitude": -122.05678064
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
Usar o OAuth para fazer uma solicitação
A API Geocoding v4 é compatível com o OAuth 2.0 para autenticação. Para usar o OAuth com a API Geocoding, o token OAuth precisa receber o escopo correto. A API Geocoding é compatível com os seguintes escopos para uso com o método Destinations:
https://www.googleapis.com/auth/maps-platform.geocode: use com todos os métodos da API Geocoding.
Além disso, é possível usar o escopo geral https://www.googleapis.com/auth/cloud-platform para todos os métodos da API Geocoding. Esse escopo é útil durante o desenvolvimento,
mas não na produção, porque é um escopo geral que permite acesso a todos
os métodos.
Para mais informações e exemplos, consulte Usar o OAuth.
Resposta da pesquisa de destinos
A resposta da Pesquisa de Destinos fornece um contexto hiperlocal detalhado sobre o local.
Os objetos PlaceView na resposta da Pesquisa de Destinos (como primary, itens em containingPlaces e landmarks) usam campos para indicar o tipo de lugar:
types: uma matriz de strings que indica os tipos do lugar.primaryType: uma string que indica o tipo principal do lugar.
Os valores de string possíveis para types e primaryType são extraídos da Tabela A e da Tabela B na página Tipos de lugar (novo).
Nesta seção, descrevemos os principais campos de resposta. Para detalhes completos sobre todos os campos de resposta, consulte a Referência da API.
primary
O lugar principal identificado pela consulta na solicitação.
addressComponents
Uma matriz contendo os componentes separados aplicáveis a esse endereço.
Normalmente, cada componente de endereço contém os seguintes campos:
types[]é uma matriz que indica o tipo do componente de endereço. Consulte a lista de tipos compatíveis.longTexté a descrição completa em texto ou o nome do componente do endereço retornado pelo geocodificador.shortTexté um nome abreviado, no formato de texto, para o componente de endereço, se estiver disponível. Por exemplo, um componente de endereço para o estado do Alasca pode ter umlongTextde "Alaska" e umshortTextde "AK", usando a abreviação postal de duas letras.languageCodeé o idioma usado para formatar esse componente, na notação CLDR.
containingPlaces
Uma matriz de objetos PlaceView que representam entidades espaciais maiores que incluem ou contêm o destino principal. Exemplo:
- Se o destino principal for uma loja ou um restaurante dentro de um shopping center,
containingPlacesvai incluir o shopping center (structureType: GROUNDS). - Se o destino principal for um apartamento individual (
subpremise),containingPlacesvai incluir o prédio residencial (structureType: BUILDING) e, se aplicável, o condomínio (structureType: GROUNDS).
Cada PlaceView em containingPlaces inclui os próprios displayName, placeId, location, structureType e displayPolygon (quando disponíveis), permitindo que você renderize o campus completo ou o contorno do complexo ao lado da unidade específica.
subDestinations
Uma matriz de objetos PlaceView que representam locais mais específicos dentro do destino principal. Exemplo:
- Ao consultar um shopping, aeroporto ou campus universitário,
subDestinationslista lojas, terminais, portões ou prédios individuais. - Ao consultar um edifício residencial ou comercial com várias unidades,
subDestinationslista as suítes ou apartamentos individuais.
Você pode usar containingPlaces e subDestinations juntos para criar seletores hierárquicos interativos que ajudam os usuários a resolver ambiguidades em locais de chegada complexos.
Hierarquia de destino e comportamento de resposta
Ao interpretar uma resposta de Destination, lembre-se das seguintes regras e relações estruturais:
primary: representa a entidade mais específica resolvida para sua consulta (como um edifício ou sublocal). Isso é preenchido na maioria dos casos de uso normais. No entanto, em áreas rurais, é possível que um destino não tenha uma entidade principal, mas ainda tenha pontos de navegação ou pontos de referência.containingPlacesrepresenta os pais (ancestrais) que o envolvem:containingPlacesé preenchido quando o lugar principal está fisicamente contido em estruturas espaciais maiores. Para lugares mais específicos, como um subestabelecimento, ele pode listar todos os níveis ancestrais na hierarquia. Isso pode incluir seções de edifícios, oBUILDINGe o campus ou condomínio residencialGROUNDS. Se um destino for um edifício independente ou um alfinete isolado,containingPlacespoderá ficar vazio.subDestinationsrepresenta os filhos contidos (descendentes):subDestinationsé preenchido quando o destino contém fisicamente lugares mais detalhados e pode incluir diferentes tipos de estrutura descendente, comoBUILDINGs filhos em um campus ou terreno, ou unidades, seções e lojas internas em um edifício.
entrances
Os objetos na matriz entrances[] têm os seguintes campos:
displayNameUm objeto
LocalizedTextque contém um nome legível por humanos para a entrada (por exemplo,"South Bernardo Avenue"ou"5th Avenue"), se disponível.locationUm único par de coordenadas de latitude/longitude que define o local de um ponto de entrada e saída em um lugar.
entrance_tags[]Uma matriz de tags de entrada que descreve as características da entrada. O seguinte valor é aceito:
"PREFERRED"
Indica que essa entrada provavelmente fornece acesso físico ao lugar retornado. Um lugar pode ter várias entradas preferenciais. Se uma entrada não tiver essa tag, significa que ela está fisicamente no mesmo edifício, mas não necessariamente fornece acesso ao lugar.
Por exemplo, se o lugar retornado for um restaurante em um shopping, as entradas
"PREFERRED"serão aquelas que levam ao restaurante em si, enquanto as outras entradas retornadas serão outras entradas do edifício, como entradas para outros restaurantes no shopping.Se o lugar retornado for um edifício, as entradas
"PREFERRED"serão aquelas que levam à parte principal do prédio. Por exemplo, em um shopping center, as entradas"PREFERRED"serão aquelas que permitem acesso à área principal do saguão, mas se uma entrada só fornecer acesso a uma loja na lateral do prédio, ela não será uma entrada"PREFERRED".streetViewThumbnailestreetViewAnnotationParâmetros para a API Street View Static, permitindo exibir imagens relevantes para esses locais. Saiba mais sobre esses campos.
structureType
O tipo de estrutura que esse lugar representa.
POINTUm local de ponto.
SECTIONUma subseção de um edifício.
BUILDINGUm prédio.
GROUNDSUma área grande que normalmente contém vários edifícios, como um campus universitário, um complexo de apartamentos ou um shopping center.
navigationPoints
O campo navigationPoints na resposta da geocodificação contém uma lista de pontos úteis para navegar até o lugar. Especificamente, eles devem ser usados como pontos de partida ou de chegada ao traçar rotas em uma rede de estradas de ou para o lugar.
Cada ponto de navegação contém os seguintes valores:
navigationPointTokené um token que contém as informações contextuais no camponavigationPoints. Você pode enviar esse token para APIs de trajeto e navegação para melhorar o trajeto e a experiência do motorista no seu app. Consulte Trajeto usando tokens de ponto de navegação para mais informações.locationcontém o valor de latitude e longitude do ponto de navegação. Esse local sempre estará muito próximo da rede viária e representa um ponto de parada ou partida ideal para navegar de e para um lugar. O ponto é intencionalmente deslocado um pouco da linha central da via para marcar claramente o lado em que o lugar está localizado.travelModesé uma lista de meios de transporte que podem acessar o ponto de navegação:"DRIVE"é o meio de transporte correspondente às rotas de carro."WALK"é o meio de transporte correspondente a rotas a pé.
usagesé uma lista de usos compatíveis com o ponto de navegação. Os usos podem ser:"DROPOFF""PICKUP""PARKING"
Para retiradas e entregas, use o ponto de navegação em que o modo de viagem é DRIVE
e o uso é PICKUP ou DROPOFF. Se os pontos de retirada ou entrega não estiverem disponíveis, use o ponto de navegação de trajeto principal.
streetViewThumbnaileentranceAnnotationfornecem parâmetros para a API Street View Static, permitindo que você mostre imagens relevantes desses locais. Saiba mais sobre esses campos.
altitude_meterscontém a altitude do ponto de navegação em metros em relação ao elipsoide WGS-84. Em casos de trechos de via empilhados verticalmente, use o campoaltitude_meterspara escolher o melhor trecho para o sistema navegar.
landmarks
Uma matriz de objetos Landmark que representam lugares por perto importantes que ajudam os usuários a se orientar e localizar o destino ao chegar. Esse recurso substitui e expande a funcionalidade legada de descritores de endereço da v3.
Cada objeto Landmark contém:
place: um objetoPlaceViewque descreve o ponto de referência, incluindodisplayName,placeId,location,typesedisplayPolygon.relationalDescription: uma stringLocalizedTextlocalizada e legível por humanos que descreve a relação espacial entre o destino e o ponto de referência (por exemplo,"Near Starbird Chicken","Across from Central Park"ou"Around the corner from the Empire State Building").straightLineDistanceMeters: a distância em linha reta (em linha reta) em metros do ponto de referência até o destino.travelDistanceMeters: a distância estimada da viagem em metros ao longo da via ou da rede de pedestres entre o ponto de referência e o destino.tags: tags contextuais que indicam o papel espacial do ponto de referência em relação ao destino:"ARRIVAL": ponto de referência hiperlocal imediatamente adjacente ou em frente ao destino (geralmente entre 50 e 100 m), ideal para orientações de chegada na última etapa."ADDRESS": ponto de referência localmente proeminente no bairro ao redor (normalmente entre 100 e 500 m), ideal para orientação antes da viagem e confirmação de endereço.- Os pontos de referência podem conter as duas tags se forem proeminentes no local e imediatamente adjacentes.
Cada ponto de referência contém os seguintes campos:
placeé o objetoPlaceViewque representa esse ponto de referência.relationalDescriptioné uma descrição legível por humanos de como o destino se relaciona com o ponto de referência, como "Perto do Empire State Building" ou "Em frente à Casa Branca".tags[]é uma matriz de tags que descrevem como o ponto de referência pode ser usado no contexto do destino:"ADDRESS": um lugar de destaque local que pode ser usado para identificar o local geral do destino."ARRIVAL": um lugar que pode ser usado para ajudar a chegar ao destino, útil para navegação quando estiver perto do destino.
straightLineDistanceMetersé a distância em linha reta desse ponto de referência até o destino em metros.travelDistanceMetersé a distância a pé desse ponto de referência até o destino, em metros.
arrivalSummary
Insights com tecnologia de IA para ajudar na chegada. Consulte Resumos gerados com IA.
parkingOptions
Informações detalhadas sobre o estacionamento.
Formato da resposta
SearchDestinations retorna um
SearchDestinationsResponse
do seguinte formato JSON:
{ "destinations": [ { "primary": { "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w", "displayName": { "text": "Arby's", "languageCode": "en" }, "primaryType": "fast_food_restaurant", "types": [ "fast_food_restaurant", "sandwich_shop", "deli", "meal_takeaway", "food_delivery", "american_restaurant", "restaurant", "food_store", "store", "food", "point_of_interest", "establishment" ], "formattedAddress": "Arby's, 601 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "601 S Bernardo Ave" ] }, "structureType": "BUILDING", "location": { "latitude": 37.3734545, "longitude": -122.05693269999998 }, "displayPolygon": { "type": "Polygon", "coordinates": [ [ [ -122.056930138027, 37.3735253692531 ], [ -122.056960139391, 37.3735372663597 ], [ -122.056994129366, 37.3734828786847 ], [ -122.056969677395, 37.3734731161089 ], [ -122.057061762447, 37.3733261309656 ], [ -122.056979388817, 37.3732935577128 ], [ -122.056798860285, 37.3735818838642 ], [ -122.056875858081, 37.3736121235316 ], [ -122.056930138027, 37.3735253692531 ] ] ] } }, "containingPlaces": [ { "place": "places/ChIJYfdAFum2j4ARIcL2tjME3Sw", "displayName": { "text": "Cherry Chase Shopping Center", "languageCode": "en" }, "primaryType": "shopping_mall", "types": [ "shopping_mall", "point_of_interest", "establishment" ], "formattedAddress": "Cherry Chase Shopping Center, 663 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1020", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "663 S Bernardo Ave" ] }, "structureType": "GROUNDS", "location": { "latitude": 37.3731231, "longitude": -122.0578211 }, "displayPolygon": { "type": "Polygon", "coordinates": [ [ [ -122.057112227103, 37.3714618008523 ], [ -122.057076849821, 37.3715743611411 ], [ -122.056963607756, 37.3719081793948 ], [ -122.056865279559, 37.3722026053835 ], [ -122.056687872374, 37.3727258358476 ], [ -122.056580005889, 37.3730511370747 ], [ -122.056498845827, 37.3732994782583 ], [ -122.056338259713, 37.3737878663325 ], [ -122.056618678291, 37.373887693582 ], [ -122.056912102521, 37.3740010327191 ], [ -122.057532418159, 37.3742476426462 ], [ -122.057673926626, 37.3742441740031 ], [ -122.057735663106, 37.3742328516943 ], [ -122.057766531332, 37.3742220604378 ], [ -122.057797572967, 37.37420520725 ], [ -122.057828267759, 37.3741852342085 ], [ -122.058060299297, 37.3740060842535 ], [ -122.058199726081, 37.3737861673422 ], [ -122.05836707267, 37.373524542556 ], [ -122.058569622393, 37.3732018598683 ], [ -122.0587638478, 37.3728890198039 ], [ -122.058934661823, 37.3726036257774 ], [ -122.059164956851, 37.3722498383629 ], [ -122.058997784906, 37.3721804442035 ], [ -122.057936479838, 37.3717605636234 ], [ -122.057495827092, 37.3715860151634 ], [ -122.057112227103, 37.3714618008523 ] ] ] } } ], "landmarks": [ { "place": { "place": "places/ChIJXXTe7Oi2j4ARoMTA-D6Hjpg", "displayName": { "text": "Chase Bank", "languageCode": "en" }, "primaryType": "bank", "types": [ "bank", "atm", "finance", "point_of_interest", "establishment" ], "formattedAddress": "Chase Bank, 1234 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1234 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.373579, "longitude": -122.05752700000001 } }, "relationalDescription": { "text": "Near Chase Bank", "languageCode": "en" }, "tags": [ "ARRIVAL", "ADDRESS" ], "straightLineDistanceMeters": 61.182193756103516, "travelDistanceMeters": 63.075645446777344 }, { "place": { "place": "places/ChIJteQ0Fum2j4ARGi3tqK4Zm14", "displayName": { "text": "Safeway", "languageCode": "en" }, "primaryType": "grocery_store", "types": [ "grocery_store", "butcher_shop", "florist", "deli", "supermarket", "bakery", "food_delivery", "market", "manufacturer", "food_store", "store", "food", "service", "point_of_interest", "establishment" ], "formattedAddress": "Safeway, 639 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "639 S Bernardo Ave" ] }, "structureType": "POINT", "location": { "latitude": 37.3727912, "longitude": -122.0581172 } }, "relationalDescription": { "text": "Around the corner from Safeway", "languageCode": "en" }, "tags": [ "ARRIVAL", "ADDRESS" ], "straightLineDistanceMeters": 158.65606689453125, "travelDistanceMeters": 131.1669921875 }, { "place": { "place": "places/ChIJu-PSYui2j4ARNiwOwBApGqk", "displayName": { "text": "Oil Changers", "languageCode": "en" }, "types": [ "car_repair", "service", "point_of_interest", "establishment" ], "formattedAddress": "Oil Changers, 1240 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1240 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.3743054, "longitude": -122.0584272 } }, "relationalDescription": { "text": "Down the road from Oil Changers", "languageCode": "en" }, "tags": [ "ARRIVAL" ], "straightLineDistanceMeters": 140.52459716796875, "travelDistanceMeters": 143.24220275878906 }, { "place": { "place": "places/ChIJKRbl5oG3j4ARwuvPGUmtCj0", "displayName": { "text": "Apni Mandi Farmers Market Sunnyvale", "languageCode": "en" }, "primaryType": "grocery_store", "types": [ "grocery_store", "cake_shop", "supermarket", "asian_grocery_store", "indian_restaurant", "meal_takeaway", "bakery", "manufacturer", "wholesaler", "restaurant", "food_store", "store", "food", "point_of_interest", "establishment" ], "formattedAddress": "Apni Mandi Farmers Market Sunnyvale, 1111 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1056", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1111 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.3737199, "longitude": -122.0522958 } }, "relationalDescription": { "text": "Near Apni Mandi Farmers Market Sunnyvale", "languageCode": "en" }, "tags": [ "ADDRESS" ], "straightLineDistanceMeters": 410.37435913085938, "travelDistanceMeters": 479.49893188476562 }, { "place": { "place": "places/ChIJ8enMlui2j4AR2xXK5EHDhBs", "displayName": { "text": "Starbird Chicken", "languageCode": "en" }, "primaryType": "chicken_restaurant", "types": [ "chicken_restaurant", "fast_food_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "Starbird Chicken, 1241 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1028", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1241 W El Camino Real" ] }, "structureType": "BUILDING", "location": { "latitude": 37.3746764, "longitude": -122.05708860000001 }, "displayPolygon": { "coordinates": [ [ [ -122.057003840785, 37.3747648209809 ], [ -122.057136852459, 37.3747919153144 ], [ -122.057205005705, 37.3745815131859 ], [ -122.057071994114, 37.3745544186944 ], [ -122.057003840785, 37.3747648209809 ] ] ], "type": "Polygon" } }, "relationalDescription": { "text": "Near Starbird Chicken", "languageCode": "en" }, "tags": [ "ADDRESS" ], "straightLineDistanceMeters": 87.348007202148438, "travelDistanceMeters": 214.08084106445312 } ], "entrances": [ { "displayName": { "text": "South Bernardo Avenue", "languageCode": "en" }, "location": { "latitude": 37.3735328, "longitude": -122.05694879999999 }, "tags": [ "PREFERRED" ], "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w" } ], "navigationPoints": [ { "navigationPointToken": "ChIJeMt61tqvQkARWT2716SDXsASEgljyy_n6LaPgBH9LoGUMNHjbBoSCWPLL-foto-AEf0ugZQw0eNsIhIJhf5y6ei2j4ARz7yBW5KAPI4", "location": { "latitude": 37.3738659, "longitude": -122.05693620000001 }, "travelModes": [ "DRIVE", "WALK" ], "usages": [ "PARKING" ] } ] } ] }
Parâmetros obrigatórios
- A solicitação de API precisa incluir um dos três parâmetros a seguir, que especificam o endereço, o lugar ou o local para pesquisar um destino:
addressQuery: o endereço a ser pesquisado.place: o ID de lugar do lugar a ser pesquisado.locationQuery: as coordenadas de latitude e longitude do local a ser pesquisado.
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 ao método usando o parâmetro de URL
$fieldsoufieldsou o cabeçalho HTTPX-Goog-FieldMask. Por exemplo, a solicitação abaixo vai retornar apenas as entradas, os pontos de navegação e o ID de lugar do destino principal.curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \ -H "X-Goog-Api-Key: API_KEY" \ -H "Content-Type: application/json" \ -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary.place" \ https://geocode.googleapis.com/v4/geocode/destinationsNã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. Defina a máscara de campo como
*para retornar todos os campos. Consulte Escolher campos para retornar para mais detalhes.
Parâmetros opcionais
-
travelModes
Especifica quais tipos de
navigationPointsserão retornados. Os pontos de navegação de outros meios de transporte serão filtrados. SetravelModesnão for definido, os pontos de navegação de todos os meios de transporte poderão ser retornados. languageCode
O idioma em que os resultados serão retornados.
- Consulte a lista de idiomas compatíveis. O Google atualiza os idiomas compatíveis com frequência. Por isso, essa lista pode não estar completa.
-
Se
languageCodenão for fornecido, a API usará como padrão o idioma e o script locais do local. Se você especificar um código de idioma inválido, a API vai retornar um erroINVALID_ARGUMENT. - A API faz o possível para fornecer um endereço que seja legível para o usuário e os moradores locais. Para isso, ele retorna endereços no idioma local, transliterados para um script legível pelo usuário, se necessário, de acordo com o idioma preferido. Todos os outros endereços são retornados no idioma preferencial. Os componentes de endereço são todos retornados no mesmo idioma, que é escolhido no primeiro componente.
- Se um nome não estiver disponível no idioma preferido, 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 retornar e na ordem em que eles são retornados. O geocodificador interpreta abreviações de maneira diferente dependendo do idioma, como as abreviações de tipos de rua ou sinônimos que podem ser válidos em um idioma, mas não em outro.
regionCode
O código da região como um valor de código CLDR de dois caracteres. Não há valor padrão. A maioria dos códigos CLDR é idêntica aos códigos ISO 3166-1.
Ao geocodificar um endereço, geocodificação direta, esse parâmetro pode influenciar, mas não restringir totalmente, os resultados do serviço para a região especificada. Ao geocodificar um local ou um lugar, fazer uma geocodificação inversa ou uma geocodificação de lugar, esse parâmetro pode ser usado para formatar o endereço. Em todos os casos, esse parâmetro pode afetar os resultados com base na legislação aplicável.
-
placeFilter
Permite filtrar os resultados de uma pesquisa do
locationQuerypara atender aos seus requisitos, como retornar apenas destinos que são edifícios ou apenas destinos que têm endereços claros.Filtrar por granularidade estrutural
O filtro
structureTypepermite especificar o tipo de estrutura que é retornado pela consulta:- Isolar edifícios: use
"structureType": "BUILDING"para mostrar contornos de edifícios em um mapa ou receber detalhes de uma estrutura específica. - Noções básicas sobre complexos: use
"structureType": "GROUNDS"para garantir que o resultado principal seja o terreno geral. Isso é útil ao consultar áreas maiores, como campi universitários ou shoppings. - Foco em unidades/seções: use
"structureType": "SECTION"para identificar seções em um edifício.
Garantir endereços úteis
Nem todos os lugares têm endereços claros no nível da rua. O filtro
addressabilityajuda a controlar a qualidade dos endereços nos resultados:- Exigir um endereço principal claro: para garantir que o resultado do destino principal
sempre tenha um endereço ou nome no nível da rua, use
"addressability": "PRIMARY". Isso é útil para fins de navegação ou exibição, em que um endereço claro é crucial. - Permitir endereços em subdestinos: nos casos em que o lugar principal
não tem um endereço, mas as unidades dentro dele têm (como apartamentos em um
prédio),
"addressability": "WEAK"garante que pelo menos o lugar principal ou um dos subdestinos tenha um endereço. - Qualquer resultado: se a presença do endereço não for relevante para seu caso de uso, use
"addressability": "ANY". Isso é altamente recomendado quando você só precisa de atributos geométricos, como contornos de edifícios e pontos de navegação, porque melhora a precisão desses resultados.
Exemplo: filtrar por edifícios com endereço
curl -X POST -d '{ "locationQuery": { "location": { "latitude": 37.37348780, "longitude": -122.05678064 }, "placeFilter": { "structureType": "BUILDING", "addressability": "PRIMARY" } }, "languageCode": "en" }' \\ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \\ -H "X-Goog-FieldMask: place" \\ https://geocode.googleapis.com/v4/geocode/destinations - Isolar edifícios: use