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 identifiants de lieu identifient de façon unique un lieu dans la base de données Google Places et sur Google Maps. Les ID de lieu 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, dans l'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, dans le service Directions et dans 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 de l'API Maps JavaScript
  • Récupération de Place Details dans le service Web de l'API Places, du SDK Places pour Android, du SDK Places pour iOS, et de l'API Places Library et JavaScript
  • Utiliser des paramètres d'identifiant de lieu dans l'API Maps Embed
  • Récupération des requêtes de recherche dans les URL Maps
  • Afficher les limites de vitesse dans l'API Roads
  • Rechercher et styliser des polygones de délimitation dans le style basé 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'ID de lieu ci-dessous pour rechercher un lieu et obtenir son ID:

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

Présentation

Un identifiant 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

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

Vous pouvez utiliser le même ID de lieu dans l'API Places et un certain nombre d'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'identifiant de lieu

Les ID de lieu ne sont pas concernés par les 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 identifié l'identifiant d'un lieu, vous pouvez réutiliser cette valeur la prochaine fois que vous recherchez ce lieu. Pour en savoir plus, consultez la section Enregistrer des ID de lieu pour une utilisation ultérieure ci-dessous.

Une façon courante d'utiliser des ID de lieu consiste à rechercher un lieu (à l'aide de l'API Places ou de la bibliothèque Places de l'API Maps JavaScript, par exemple), puis à utiliser l'ID de lieu renvoyé pour récupérer des détails sur le lieu. Vous pouvez stocker l'ID de lieu et l'utiliser pour récupérer ultérieurement les mêmes informations sur le lieu. Découvrez comment enregistrer des ID de lieu ci-dessous.

Exemple d'utilisation du SDK Places pour iOS

Un identifiant de lieu est un identifiant texte qui identifie un lieu de façon unique. Dans le SDK Places pour iOS, vous pouvez récupérer l'ID d'un lieu à partir d'un objet GMSPlace. Vous pouvez stocker l'ID de lieu et l'utiliser pour récupérer à nouveau l'objet GMSPlace.

Pour obtenir un lieu par ID, appelez GMSPlacesClient fetchPlaceFromPlaceID: en transmettant les paramètres suivants:

  • Chaîne contenant un identifiant de lieu.
  • Un ou plusieurs GMSPlaceField, en spécifiant les types de données à renvoyer.
  • Jeton de session si l'appel est effectué pour finaliser une requête de saisie semi-automatique. Sinon, transmettez "nil".
  • Un GMSPlaceResultCallback pour gérer le résultat.

L'API appelle la méthode de rappel spécifiée en transmettant un objet GMSPlace. Si le lieu est introuvable, l'objet GMSPlace est nul.

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeId, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeId = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeId placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

Enregistrer les identifiants de lieu pour une utilisation ultérieure

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

Actualisation des identifiants 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 identifiants de lieu sans frais en envoyant une requête Place Details, en ne spécifiant que le champ GMSPlaceFieldPlaceID dans le paramètre fields. Cette action déclenchera le code SKU Places Details - ID Refresh. Cependant, cette requête peut également renvoyer le code d'état NOT_FOUND. Une stratégie consiste à stocker la requête d'origine qui a renvoyé chaque ID de lieu. Si un ID de lieu n'est plus valide, vous pouvez le renvoyer pour obtenir de nouveaux résultats. Ces résultats peuvent inclure ou non le lieu d'origine. La requête est payante.

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 est incorrect.

Le code d'état NOT_FOUND indique que l'identifiant 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 mises à jour à grande échelle de la base de données Google Maps. Dans ce cas, un lieu peut recevoir un nouvel ID de lieu, et l'ancien ID renvoie une réponse NOT_FOUND.

En particulier, certains types d'identifiants 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:

  • 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.
  • Segments d'un long itinéraire, où la requête spécifie également une ville ou une localité.
  • Intersections.
  • 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