Usar o serviço Places e a API Geocoding com estilo baseado em dados para limites

Selecione a plataforma: Android iOS JavaScript

Você pode usar o serviço Places e a API Geocoding com o SDK do Maps para Android para pesquisar regiões e conferir mais detalhes sobre lugares. O serviço Places e a API Geocoding são alternativas avançadas e estáveis para acessar IDs de lugares. Se você já usa esses IDs, é fácil reutilizar com o estilo baseado em dados para limites.

Adicione o serviço Places e a Geocoding ao seu SDK do Maps para Android das seguintes maneiras:

  • O SDK do Places para Android é uma biblioteca do Android que contém métodos para retornar informações sobre lugares.
  • A API Places retorna informações sobre lugares usando solicitações HTTP.
  • A classe do geocodificador pode fazer a geocodificação e a geocodificação inversa de forma dinâmica a partir da entrada do usuário.
  • Com a API Geocoding, é possível geocodificar endereços estáticos e conhecidos.

Usar o serviço Places

Usar a Pesquisa de texto (nova) para encontrar um ID de lugar

É possível usar a API REST Text Search (novo) na API Places para ter acesso a um ID de lugar que inclua dados de região. Basta especificar places.id na máscara de campo. O uso da Pesquisa de texto (novo) para solicitar apenas IDs de lugar não gera cobranças. Saiba mais.

Por exemplo, para conseguir o ID de lugar de Trinidad, CA, faça a seguinte chamada de API:

curl -X POST -d '{
  "textQuery" : "Trinidad, CA"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'

Usar o Place Autocomplete para encontrar regiões

O serviço Places Autocomplete no SDK do Places para Android oferece uma maneira conveniente para os usuários pesquisarem regiões. Para configurar o serviço Places Autocomplete para retornar apenas regiões, use AutocompleteSupportFragment.setTypesFilter(List) para definir o filtro de tipo como PlaceTypes.REGIONS.

Gerar detalhes de lugares em uma região

O serviço Place Details no SDK do Places para Android retorna dados de uma região e pode ser muito útil. Por exemplo, você pode:

  • Procurar IDs de lugares limites com base nos nomes deles.
  • Acessar a janela de visualização para aplicar zoom a um limite.
  • Encontrar o tipo de recurso do limite (por exemplo, locality).
  • Encontrar o endereço formatado, que é resolvido como "Nome do local, estado, país" na região dos Estados Unidos (por exemplo, "Ottumwa, IA, EUA").
  • Localizar outros dados úteis, como fotos.

Usar a API Geocoding

Com a API Geocoding, você pode converter um endereço em coordenadas de latitude e longitude e um ID de local ou converter coordenadas de latitude e longitude ou um ID de local em um endereço. Os exemplos de uso a seguir combinam bem com o estilo baseado em dados para limites:

  • Use a geocodificação para acessar a janela de visualização de uma região.
  • Aplique a filtragem de componentes à chamada da geocodificação para receber os IDs de lugar das áreas político-administrativas 1-4, regiões administrativas ou códigos postais.
  • Use a geocodificação inversa para encontrar IDs de lugar por coordenadas de latitude e longitude ou até mesmo retornar IDs de todos os componentes em um determinado local.

O exemplo a seguir usa um endereço (com codificação de URL) para fazer uma solicitação à API Geocoding:

https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY

É possível usar a geocodificação inversa para encontrar IDs de lugar. O exemplo de função do serviço de geocodificação a seguir retorna os IDs de lugar de todos os componentes de endereço nas coordenadas de latitude e longitude especificadas:

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY

Use a geocodificação inversa com filtragem de componentes para encontrar o componente de endereço de um ou mais destes tipos no local especificado:

  • administrativeArea
  • country
  • locality
  • postalCode

O próximo exemplo mostra o uso do serviço de geocodificação, adicionando restrições de componentes com geocodificação inversa para encontrar todos os componentes de endereço no local especificado apenas para o tipo locality:

https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY