Este guia destaca as principais diferenças entre o serviço de lugares legado e a nova classe Place. Atualizar para a classe Place oferece vantagens significativas, incluindo desempenho aprimorado 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.
Ativar a API Places
A classe Place depende do serviço da API Places. Para usar os recursos da nova classe Place, primeiro é necessário ativar a API Places (nova) no 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 PlacesServiceStatus . |
Nenhuma verificação de status necessária. É possível usar o tratamento de erros padrão. |
Os campos de dados do lugar são formatados usando letras minúsculas. | Os campos de dados de lugar são formatados usando letras maiúsculas e minúsculas. |
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 oferece suporte a padrões de uso modernos, como promessas. A classe Place expõe os mesmos campos de dados e tipos de lugar do serviço legado do Google Places e inclui muitos novos valores para campos de dados e tipos de lugar.
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 o app carrega a biblioteca Places depende de qual carregador de inicialização está em uso. Se o app usar a importação de biblioteca dinâmica,
carregue as bibliotecas necessárias no momento da execução usando o operador await
para
chamar importLibrary()
, conforme mostrado aqui:
const { Place } = await google.maps.importLibrary("places");
Se o app usar 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 a migrar seus apps para usar a versão mais recente da API Places: