Visão geral da migração

Desenvolvedores do Espaço Econômico Europeu (EEE)

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 será cobrado 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 mais 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 projeto na nuvem 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 google.maps.places.PlacesServiceStatus resposta. 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 fornece 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 de lugar e tipos de lugar que o serviço Places legado e inclui muitos novos valores para campos de dados de lugar e tipos de lugar.

Esta tabela mostra como os recursos do serviço Places são mapeados para os da classe Place:

Serviço Places (legado) Classe Place (nova)
Campos de dados de lugar Campos de dados da classe Place
Tipos de lugar Tipos de lugar
PlacesService.findPlaceFromQuery() Place.searchByText()
PlacesService.findPlaceFromPhoneNumber() Place.searchByText()
PlacesService.textSearch() Place.searchByText()
PlacesService.nearbySearch() Place.searchNearby()
PlacesService.getDetails() Place.fetchFields()
Places.AutocompletionRequest Places.AutocompleteRequest
Places.AutocompletePrediction Places.PlacePrediction
Autocomplete classe Classe PlaceAutocompleteElement
SearchBox classe ---

Carregar a biblioteca Places

A forma como o app carrega a biblioteca Places depende de qual carregador bootstrap está em uso. Se o app usa a importação dinâmica de bibliotecas, você pode carregar 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 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: