Este guia destaca as principais diferenças entre o serviço Places legado e a nova classe Place. A atualização para a classe Place oferece vantagens significativas, incluindo melhor desempenho e um novo modelo de preços. Para aproveitar ao máximo o Places e garantir que seus apps estejam atualizados, familiarize-se com as mudanças detalhadas neste guia.
Práticas recomendadas de faturamento para migração
Esta orientação se aplica se o uso da API for alto o suficiente para passar para o preço de segundo nível. Ao migrar para uma versão mais recente de uma API, você também recebe cobranças por uma SKU diferente. Para evitar custos maiores durante o mês da transição, recomendamos mudar para as novas APIs em produção o mais próximo possível do início do mês. Isso garante que você alcance os níveis de preços mensais mais econômicos durante o mês da migração. Para informações sobre níveis de preços, consulte a página de preços e as perguntas frequentes sobre preços.
Ativar a API Places
A classe Place depende do serviço da API Places. Para usar os recursos da nova classe Place, primeiro ative a API Places (nova) no projeto do Google Cloud. Para mais informações, consulte Começar a usar.
Mudanças gerais
A tabela a seguir lista algumas das principais diferenças entre PlacesService
e Place
:
PlacesService (legado) |
Place (novo) |
---|---|
Os métodos exigem o uso de um callback para processar o objeto de resultados e a resposta google.maps.places.PlacesServiceStatus . |
Usa promessas e funciona de forma assíncrona. |
Os métodos exigem uma verificação de PlacesServiceStatus . |
Nenhuma verificação de status necessária, pode usar o tratamento de erros padrão. |
Os campos de dados de lugar são formatados usando snake case. | Os campos de dados de lugar são formatados usando camel case. |
Limitado a um conjunto fixo de tipos de lugar e campos de dados de lugar. | Oferece uma seleção expandida de tipos de lugar e campos de dados de lugar atualizados regularmente. |
Mudanças específicas da API
A classe Place oferece uma API para usar a biblioteca Places e é compatível com padrões de uso modernos, como promessas. A classe Place expõe os mesmos campos de dados e tipos de lugares que o serviço Places legado, além de incluir muitos valores novos para campos de dados e tipos de lugares.
Esta tabela mostra como os recursos do serviço Places são mapeados para os da classe Place:
Carregar a biblioteca Places
A forma como seu app carrega a biblioteca Places depende do carregador de bootstrap em uso. Se o app usa importação dinâmica de biblioteca,
é possível carregar as bibliotecas necessárias no tempo de execução usando o operador await
para
chamar importLibrary()
, conforme mostrado aqui:
const { Place } = await google.maps.importLibrary("places");
Se o app usa a tag de carregamento direto de script,
solicite a biblioteca places
no script do carregador:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>
Saiba mais sobre o carregamento da API Maps JavaScript.
Esta seção inclui os seguintes guias para ajudar você a migrar seus apps e usar a versão mais recente da API Places:
- Migrar para Place Details
- Migrar para a pesquisa de texto (novo)
- Migrar para a Pesquisa nas proximidades (novo)
- Migrar para o Place Photos
- Migrar para as avaliações de lugar
- Migrar para o Place Autocomplete