Este guia destaca as principais diferenças entre o serviço legado do Places e a nova classe Place. O upgrade 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, conheça 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 segundo nível de preços. Ao migrar para uma versão mais recente de uma API, você também será cobrado por uma SKU diferente. Para evitar o aumento de custos 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 os 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 seu projeto do Google Cloud. Para mais informações, consulte Começar.
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. |
Não é necessário verificar o status, é possível 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 letras concatenadas. |
| Limitado a um conjunto fixo de tipos de lugar e campos de dados de lugar. | Oferece uma seleção ampliada 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 objetos promessa. A classe Place expõe os mesmos campos de dados e tipos de lugar que o serviço legada do Places e inclui muitos valores novos para campos de dados e tipos de lugar.
Esta tabela mostra como os recursos do serviço do Places são mapeados para os da classe Place:
Carregar a biblioteca Places
A forma como o app carrega a biblioteca Places depende do carregador bootstrap em
uso. Se o app usa a importação dinâmica de biblioteca,
é possível carregar as bibliotecas necessárias no ambiente de execução usando o operador await para
chamar importLibrary(), como 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 para usar a versão mais recente da API Places: