Place Details (nouveau)

Sélectionnez une plate-forme : Android iOS JavaScript Services Web

Vous pouvez demander plus d'informations sur un établissement ou un point d'intérêt particulier à l'aide de son ID de lieu et en envoyant une requête Place Details (New). "Informations sur le lieu (nouvelles)" renvoie des informations plus complètes sur le lieu indiqué, comme son adresse complète, son numéro de téléphone, sa note et ses avis.

Il existe de nombreuses façons d'obtenir un identifiant de lieu. Vous pouvez utiliser :

Requêtes Place Details (New)

Vous pouvez demander des informations sur un lieu en appelant PlacesClient.fetchPlace() et en transmettant un objet FetchPlaceRequest contenant un ID de lieu et une liste de champs, ainsi que d'autres paramètres facultatifs:

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

// Specify the list of fields to return.
final List<Place.Field> placeFields = Arrays.asList("INSERT_PLACE_FIELDS_HERE");

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

// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);

Réponses Place Details (New)

Place Details (New) renvoie des données sous la forme d'un objet Place, qui n'inclut que les champs que vous avez demandés à l'aide de la liste de champs. Les résultats des données de lieu ne peuvent pas être vides. Par conséquent, seuls les résultats contenant des données sont renvoyés (par exemple, si un lieu demandé ne comporte pas de photos, le champ "photos" ne sera pas présent dans le résultat).

Pour accéder aux champs de données, appelez la méthode correspondante. Par exemple, pour accéder au nom du lieu, appelez getName().

Paramètres obligatoires

Les paramètres obligatoires pour FetchPlaceRequest sont les suivants:

Paramètres facultatifs

Les paramètres facultatifs pour FetchPlaceRequest sont les suivants:

  • Code régional

    Code de région utilisé pour mettre en forme la réponse, spécifié sous la forme d'une valeur de code CLDR à deux caractères. Il n'existe pas de valeur par défaut.

    Si le nom du pays du champ Place.Field.FORMATTED_ADDRESS de la réponse correspond à regionCode, le code pays est omis de Place.Field.FORMATTED_ADDRESS.

    La plupart des codes CLDR sont identiques aux codes ISO 3166-1, à quelques exceptions près. Par exemple, le ccTLD du Royaume-Uni est "uk" (.co.uk), tandis que son code ISO 3166-1 est "gb" (techniquement pour l'entité "Royaume-Uni de Grande-Bretagne et d'Irlande du Nord"). Le paramètre peut avoir une incidence sur les résultats en fonction de la législation applicable.

    Pour définir le paramètre de code de région, appelez la méthode setRegionCode() lors de la création de l'objet FetchPlaceRequest.

  • Jeton de session

    Les jetons de session sont des chaînes générées par l'utilisateur qui suivent les appels de saisie semi-automatique (nouveau) en tant que "sessions". Autocomplete (New) utilise des jetons de session pour regrouper les phases de requête et de sélection de lieu d'une recherche de saisie semi-automatique d'un utilisateur dans une session distincte à des fins de facturation. Les jetons de session sont transmis aux appels Place Details (New) qui suivent les appels Autocomplete (New). Pour en savoir plus, consultez la section Jetons de session.

    Pour définir le paramètre de jeton de session, appelez la méthode setSessionToken() lors de la création de l'objet FetchPlaceRequest.

Exemple de requête Place Details

L'exemple suivant demande les champs ID, DISPLAY_NAME et FORMATTED_ADDRESS pour l'Empire State Building à New York.

// Define a place ID.
final String placeId = "ChIJaXQRs6lZwokRY6EFpJnhNNE";

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

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

// Pass the request object and make the request
Task<FetchPlaceResponse> placeTask = placesClient.fetchPlace(request);