Vous pouvez demander plus d'informations sur un établissement ou un point d'intérêt spécifique en utilisant son ID de lieu et en effectuant une requête Place Details (New). Place Details (New) renvoie des informations plus complètes sur le lieu indiqué, comme son adresse complète, son numéro de téléphone, les avis et notes des visiteurs.
Il existe de nombreuses façons d'obtenir un identifiant de lieu. Vous pouvez utiliser :
Requêtes Place Details (New)
Vous pouvez demander des détails 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 tous les 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 les 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 de 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 aucune photo, 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 requis pour FetchPlaceRequest
sont les suivants :
-
ID de lieu
Identifiant textuel qui identifie un lieu de manière unique, renvoyé par une requête Text Search (New), Nearby Search (New) ou Autocomplete (New). Pour en savoir plus sur les ID de lieu, consultez la présentation des ID de lieu.
-
Liste des champs
Lorsque vous demandez un lieu, vous devez spécifier les données de lieu à renvoyer. Pour ce faire, transmettez une liste de valeurs
Place.Field
spécifiant les données à renvoyer. Il n'existe pas de liste par défaut des champs renvoyés dans la réponse.Les listes de champs sont une bonne pratique à appliquer pour vous assurer de ne pas demander de données inutiles. Vous pourrez ainsi réduire le temps de traitement et les frais facturés. Cette liste est un élément important, car elle a une incidence sur le coût de chaque requête. Pour en savoir plus, consultez Utilisation et facturation.
Spécifiez un ou plusieurs des champs suivants :
Les champs suivants déclenchent le SKU Place Details Essentials IDs Only :
Place.Field.ID
Place.Field.PHOTO_METADATAS
Place.Field.RESOURCE_NAME
Les champs suivants déclenchent le SKU Place Details Essentials :
Place.Field.ADDRESS_COMPONENTS
ADR_FORMAT_ADDRESS
Place.Field.FORMATTED_ADDRESS
*
* À utiliser à la place dePlace.Field.ADDRESS
(obsolète).
Place.Field.LOCATION
*
* Utilisez-le à la place dePlace.Field.LAT_LNG
(obsolète).
Place.Field.PLUS_CODE
Place.Field.SHORT_FORMATTED_ADDRESS
Place.Field.TYPES
Place.Field.VIEWPORT
Les champs suivants déclenchent le SKU Place Details Pro :
Place.Field.ACCESSIBILITY_OPTIONS
*
* À utiliser à la place dePlace.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE
(obsolète).
Place.Field.BUSINESS_STATUS
Place.Field.DISPLAY_NAME
*
* Utilisez plutôtPlace.Field.NAME
, qui est obsolète.
Place.Field.GOOGLE_MAPS_URI
Place.Field.ICON_BACKGROUND_COLOR
Place.Field.ICON_MASK_URL
*
* À utiliser à la place dePlace.Field.ICON_URL
(obsolète).
Place.Field.PRIMARY_TYPE
Place.Field.PRIMARY_TYPE_DISPLAY_NAME
Place.Field.SUB_DESTINATIONS
Place.Field.UTC_OFFSET
Les champs suivants déclenchent le SKU Place Details Enterprise :
Place.Field.CURRENT_OPENING_HOURS
Place.Field.CURRENT_SECONDARY_OPENING_HOURS
Place.Field.INTERNATIONAL_PHONE_NUMBER
*
* À utiliser à la place dePlace.Field.PHONE_NUMBER
, qui est obsolète.
Place.Field.NATIONAL_PHONE_NUMBER
Place.Field.OPENING_HOURS
Place.Field.PRICE_LEVEL
Place.Field.RATING
Place.Field.SECONDARY_OPENING_HOURS
Place.Field.USER_RATING_COUNT
*
* À utiliser à la place dePlace.Field.USER_RATINGS_TOTAL
, qui est obsolète.
Place.Field.WEBSITE_URI
Les champs suivants déclenchent le SKU Place Details Enterprise Plus :
Place.Field.ALLOWS_DOGS
Place.Field.CURBSIDE_PICKUP
Place.Field.DELIVERY
Place.Field.DINE_IN
Place.Field.EDITORIAL_SUMMARY
Place.Field.EV_CHARGE_OPTIONS
Place.Field.FUEL_OPTIONS
Place.Field.GOOD_FOR_CHILDREN
Place.Field.GOOD_FOR_GROUPS
Place.Field.GOOD_FOR_WATCHING_SPORTS
Place.Field.LIVE_MUSIC
Place.Field.MENU_FOR_CHILDREN
Place.Field.OUTDOOR_SEATING
Place.Field.PARKING_OPTIONS
Place.Field.PAYMENT_OPTIONS
Place.Field.RESERVABLE
Place.Field.RESTROOM
Place.Field.REVIEWS
Place.Field.SERVES_BEER
Place.Field.SERVES_BREAKFAST
Place.Field.SERVES_BRUNCH
Place.Field.SERVES_COCKTAILS
Place.Field.SERVES_COFFEE
Place.Field.SERVES_DESSERT
Place.Field.SERVES_DINNER
Place.Field.SERVES_LUNCH
Place.Field.SERVES_VEGETARIAN_FOOD
Place.Field.SERVES_WINE
Place.Field.TAKEOUT
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 dePlace.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"). Ce paramètre peut avoir une incidence sur les résultats en fonction de la loi applicable.
Pour définir le paramètre de code régional, appelez la méthode
setRegionCode()
lors de la création de l'objetFetchPlaceRequest
.-
Jeton de session
Les jetons de session sont des chaînes générées par l'utilisateur qui suivent les appels Autocomplete (New) en tant que "sessions". Autocomplete (nouveau) 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 Jetons de session.
Pour définir le paramètre du jeton de session, appelez la méthode
setSessionToken()
lors de la création de l'objetFetchPlaceRequest
.
Exemple de 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);