地点详情(新)

请选择平台: Android iOS JavaScript 网络服务

您可以请求获取关于特定场所或地点的更多详细信息。 关注度 ID 和 “地点详情”(新)请求。 “地点详情(新)”会返回更全面的信息 有关指定地点的信息,例如其完整地址、电话号码 数字、用户评分和评价。

您可以通过多种方式获取地点 ID。您可以使用:

“地点详情(新)”请求

您可以通过调用 PlacesClient.fetchPlace() 并传递一个 FetchPlaceRequest 对象包含地点 ID字段列表,以及 作为任何可选参数

// 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);

“地点详情(新)”响应

地点详情(新)以 Place 对象,该对象仅包含您使用 字段请求的字段 列表。地点数据结果不得为空,因此只能提供地点结果 (例如,如果请求的地点没有照片, photos 字段不会在结果中显示)。

要访问数据字段,请调用 方法。 例如,如需访问地点名称,请调用 getName()

必需参数

使用 FetchPlaceRequest 分别是:

可选参数

FetchPlaceRequest 分别是:

  • 区域代码

    用于设置响应格式的地区代码,指定为 两个字符的 CLDR 代码值。没有默认值。

    如果响应中 Place.Field.ADDRESS 字段的国家/地区名称与 regionCode,则 Place.Field.ADDRESS 中省略了国家/地区代码。

    大多数 CLDR 代码与 ISO 3166-1 代码相同, 但有一些值得注意的例外情况。例如,英国的 ccTLD 为 "uk"(.co.uk),而其 ISO 3166-1 代码为“gb”(从技术层面来讲, “大不列颠及北爱尔兰联合王国”)。 根据适用法律,该参数可能会影响结果。

    如需设置地区代码参数,请在构建 FetchPlaceRequest 对象时调用 setRegionCode() 方法。

  • 会话令牌

    会话令牌是用户生成的字符串,用于跟踪 将“自动补全(新)”调用作为“会话”调用。自动补全(新)会使用会话令牌 将用户自动补全搜索的查询和地点选择阶段分组到一个单独的会话中 用于结算目的会话令牌会传递到地点详情(新) 跟随“自动补全(新)”调用的调用。如需了解详情,请参阅 会话令牌

    如需设置会话令牌参数,请在构建 FetchPlaceRequest 对象时调用 setSessionToken() 方法。

地点详情示例

以下示例请求了 IDNAMEADDRESS 字段 纽约市的帝国大厦。

// 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.NAME, Place.Field.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);