Identifiants de lieu

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.
Sélectionnez une plate-forme: Android iOS JavaScript Service Web

Les ID de lieu identifient de façon unique un lieu dans la base de données Google Places et sur Google Maps. Ils sont acceptés dans les requêtes envoyées aux API Google Maps suivantes :

  • Récupérer une adresse pour un ID de lieu dans le service Web de l'API Geocoding, et dans le service Geocoding, API Maps JavaScript.
  • Spécifier les points de cheminement de départ, de destination et intermédiaires dans le service Web de l'API Directions, et dans le service Directions et l'API Maps JavaScript.
  • Spécifier des points de départ et d'arrivée dans le service Web de l'API Distance Matrix et dans le service Distance Matrix, API Maps JavaScript.
  • Récupérer Place Details dans le service Web de l'API Places, du SDK Places pour Android, du SDK Places pour iOS, et de la bibliothèque Places, API JavaScript.
  • Utiliser des paramètres d'ID de lieu dans l'API Maps Embed.
  • Récupérer des requêtes de recherche dans les URL Maps.
  • Afficher les limites de vitesse dans l'API Roads.
  • Rechercher et styliser des polygones de limite dans les styles basés sur les données.

Rechercher l'identifiant d'un lieu spécifique

Vous recherchez l'identifiant de lieu d'un lieu spécifique ? Utilisez l'outil de recherche d'identifiants de lieu ci-dessous pour rechercher un lieu et son identifiant :

Vous pouvez également afficher l'outil de recherche d'ID de lieu avec son code dans la documentation de l'API Maps JavaScript.

Présentation

Un ID de lieu est un identifiant texte qui identifie un lieu de façon unique. La longueur de l'identifiant peut varier (il n'y a pas de longueur maximale pour les ID de lieu). Exemples :

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

Des ID de lieu sont disponibles pour la plupart des points géographiques, y compris les entreprises, points de repère, parcs et intersections. Un même endroit peut avoir plusieurs ID de lieu différents. Les ID de lieu peuvent changer au fil du temps.

Vous pouvez utiliser le même ID de lieu dans l'API Places et plusieurs API Google Maps Platform. Par exemple, vous pouvez utiliser le même ID de lieu pour référencer un lieu dans l'API Places, l'API Maps JavaScript, l'API Geocoding, l'API Maps Embed et l'API Roads.

Extraire les détails de lieu à l'aide de l'ID de lieu

Les ID de lieu ne sont pas soumis aux restrictions de mise en cache stipulées dans la section 3.2.3(b) des conditions d'utilisation de Google Maps Platform. Une fois que vous avez déterminé l'identifiant d'un lieu, vous pouvez réutiliser cette valeur la prochaine fois que vous le rechercherez. Pour en savoir plus, consultez Enregistrer des ID de lieu pour une utilisation ultérieure ci-dessous.

Les ID de lieu sont souvent utilisés pour rechercher un lieu (à l'aide de l'API Places ou de la bibliothèque Places de l'API Maps JavaScript, par exemple). L'ID renvoyé vous permet ensuite récupérer les détails sur le lieu. Vous pouvez stocker l'ID de lieu et l'utiliser pour extraire des détails sur ce même lieu ultérieurement. Découvrez comment enregistrer des ID de lieu ci-dessous.

Exemple d'utilisation du SDK Places pour Android

Dans le SDK Places pour Android, vous pouvez récupérer l'ID d'un lieu en appelant Place.getId(). Le service Place Autocomplete renvoie également un ID de lieu pour chaque lieu correspondant à la requête et au filtre fournis. Utilisez l'ID de lieu pour récupérer l'objet Place ultérieurement.

Pour obtenir une adresse par identifiant, appelez PlacesClient.fetchPlace() et transmettez FetchPlaceRequest.

L'API renvoie un FetchPlaceResponse dans un Task. FetchPlaceResponse contient un objet Place correspondant à l'ID de lieu fourni.

L'exemple de code suivant montre comment appeler fetchPlace() pour obtenir des détails sur le lieu spécifié.

Java


// Define a Place ID.
final String placeId = "INSERT_PLACE_ID_HERE";

// Specify the fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);

// Construct a request object, passing the place ID and fields array.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
    Place place = response.getPlace();
    Log.i(TAG, "Place found: " + place.getName());
}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
        final ApiException apiException = (ApiException) exception;
        Log.e(TAG, "Place not found: " + exception.getMessage());
        final int statusCode = apiException.getStatusCode();
        // TODO: Handle error with given status code.
    }
});

      

Kotlin


// Define a Place ID.
val placeId = "INSERT_PLACE_ID_HERE"

// Specify the fields to return.
val placeFields = listOf(Place.Field.ID, Place.Field.NAME)

// Construct a request object, passing the place ID and fields array.
val request = FetchPlaceRequest.newInstance(placeId, placeFields)

placesClient.fetchPlace(request)
    .addOnSuccessListener { response: FetchPlaceResponse ->
        val place = response.place
        Log.i(PlaceDetailsActivity.TAG, "Place found: ${place.name}")
    }.addOnFailureListener { exception: Exception ->
        if (exception is ApiException) {
            Log.e(TAG, "Place not found: ${exception.message}")
            val statusCode = exception.statusCode
            TODO("Handle error with given status code")
        }
    }

      

Enregistrer les identifiants de lieu pour une utilisation ultérieure

Les ID de lieu ne sont pas soumis aux restrictions de mise en cache stipulées dans la section 3.2.3(a) des conditions d'utilisation de Google Maps Platform. Vous pouvez donc stocker des ID de lieu pour les utiliser ultérieurement.

Actualiser les ID de lieu stockés

Nous vous recommandons d'actualiser les ID de lieu s'ils datent de plus de 12 mois. Vous pouvez actualiser les ID de lieu sans frais en effectuant une requête Place Details, en ne spécifiant que le champ Place.Field.ID dans le paramètre fields. Cela déclenchera le Code SKU Places Details - ID Refresh. Cependant, cette requête peut également renvoyer le code d'état NOT_FOUND. Vous pouvez stocker la requête d'origine qui a renvoyé chaque ID de lieu. Si un ID de lieu n'est plus valide, vous pouvez effectuer une nouvelle requête pour obtenir des résultats à jour. Ces résultats peuvent inclure ou non le lieu d'origine. Cette requête est facturable.

Codes d'erreur lors de l'utilisation d'identifiants de lieu

Le code d'état INVALID_REQUEST indique que l'ID de lieu spécifié n'est pas valide. INVALID_REQUEST peut être renvoyé lorsque l'ID de lieu a été tronqué ou modifié, et qu'il n'est plus valide.

Le code d'état NOT_FOUND indique que l'ID de lieu spécifié est obsolète. Un ID de lieu peut devenir obsolète si un établissement ferme ou déménage. Les ID de lieu peuvent changer en raison de modifications à grande échelle de la base de données Google Maps. Dans ce cas, un lieu peut recevoir un nouvel identifiant, et l'ancien ID renvoie une réponse NOT_FOUND.

En particulier, certains types d'ID de lieu peuvent parfois entraîner une réponse NOT_FOUND, ou l'API peut renvoyer un ID de lieu différent dans la réponse. Ces types d'ID de lieu incluent :

  • les adresses postales qui n'existent pas dans Google Maps en tant qu'adresses précises, mais qui sont déduites d'une plage d'adresses ;
  • les segments d'un long itinéraire, où la requête spécifie également une ville ou une localité ;
  • les intersections ;
  • les lieux avec un composant d'adresse de type subpremise.

Ces ID se présentent souvent sous la forme d'une longue chaîne (il n'y a pas de longueur maximale pour les ID de lieu). Exemple :

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4