Présentation de la migration

Ce guide met en évidence les principales différences entre l'ancien service Places et la nouvelle classe Place. La migration vers la classe Place offre des avantages importants, y compris de meilleures performances et un nouveau modèle tarifaire. Pour tirer le meilleur parti de Places et vous assurer que vos applications sont à jour, familiarisez-vous avec les modifications détaillées dans ce guide.

Activer l'API Places

La classe Place s'appuie sur le service de l'API Places. Pour utiliser les fonctionnalités de la nouvelle classe Place, vous devez d'abord activer l'API Places (nouvelle version) dans votre projet Google Cloud. Pour en savoir plus, consultez Premiers pas.

Changements généraux

Le tableau suivant présente quelques-unes des principales différences entre PlacesService et Place:

PlacesService (ancienne) Place (nouveau)
Les méthodes nécessitent l'utilisation d'un rappel pour gérer l'objet de résultats et la réponse google.maps.places.PlacesServiceStatus. Utilise des promesses et fonctionne de manière asynchrone.
Les méthodes nécessitent une vérification PlacesServiceStatus. Aucune vérification d'état requise. Vous pouvez utiliser la gestion des erreurs standard.
Les champs de données de lieu sont mis en forme en snake case. Les champs de données de lieu sont mis en forme en Camel Case.
Limité à un ensemble fixe de types d'établissements et de champs de données sur les établissements. Fournit une sélection étendue de types d'établissements et de champs de données sur les établissements régulièrement mis à jour.

Modifications spécifiques à l'API

La classe Place fournit une API pour utiliser la bibliothèque Places et est compatible avec les modèles d'utilisation modernes, comme les promesses. La classe Place expose les mêmes champs de données de lieu et types de lieux que l'ancien service Places, et inclut de nombreuses nouvelles valeurs pour les champs de données de lieu et les types de lieux.

Ce tableau montre comment les fonctionnalités du service Places correspondent à celles de la classe Place:

Service Places (ancien) Classe Place (nouvelle version)
Champs de données de lieu Champs de données de classe Place
Types de lieux Types de lieux
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
Classe Autocomplete Classe PlaceAutocompleteElement
Classe SearchBox ---

Charger la bibliothèque Places

La manière dont votre application charge la bibliothèque Places dépend du chargeur de démarrage utilisé. Si votre application utilise l'importation de bibliothèques dynamiques, vous pouvez charger les bibliothèques nécessaires au moment de l'exécution à l'aide de l'opérateur await pour appeler importLibrary(), comme indiqué ci-dessous:

const { Place } = await google.maps.importLibrary("places");

Si votre application utilise la balise de chargement de script direct, demandez la bibliothèque places dans le script du chargeur:

<script async
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>

Découvrez comment charger l'API Maps JavaScript.

Cette section comprend les guides suivants pour vous aider à migrer vos applications vers la dernière version de l'API Places: