迁移到地点详情(新)

Places SDK for Android 支持现有的 地点详情。如果您熟悉现有的 Places SDK for Android,新版地点详情会进行以下更改:

以下部分介绍了其他变更。

访问新的地点类型

每个地点都可以有一个或多个相关联的类型值。Google 地图 SDK for Android 3.3.0 及更高版本添加了许多新类型值。如需查看完整列表,请参阅展开式地点类型

Place.getPlaceTypes() 方法会以字符串值列表的形式返回类型值。返回的值取决于您使用的 Places SDK for Android 版本:

  • Places SDK for Android(新):返回地点类型(新)中显示的表格 A 和表格 B 定义的字符串,包括在版本 3.3.0 中添加的所有地点类型。

  • Places SDK for Android:返回 Place.Types 定义的枚举,其中不包括版本 3.3.0 及更高版本中添加的新类型。

访问地点评价

Places SDK for Android(新)添加了 Review 类,其中包含对地点的评价。Place 对象最多可以包含五条评价。

Review 类还可以包含提供方提供方和作者提供方。如果您在应用中显示评价,则还必须显示所有提供方或作者提供方信息。如需了解详情,请参阅显示评价

如需了解详情,请参阅归因文档。

访问地点名称语言代码

现有的 Place.getName() 方法会返回一个包含地点名称的文本字符串。如需使用地点名称填充 Place 对象,您必须在地点详情请求的字段列表中添加 Place.Field.DISPLAY_NAME

Place 对象现在包含名称字符串的语言代码。如需使用语言代码填充 Place 对象,您必须:

  1. 在请求的字段列表中添加 Place.Field.DISPLAY_NAME。此值会将响应配置为在 Place 对象中同时包含地点名称和语言代码。

  2. 调用 PlacesClient.fetchPlace()PlacesClient.findCurrentPlace() 不支持语言代码字段。

  3. 使用 Place.getNameLanguageCode() 方法访问 Place 对象中的语言代码字段。

设置地区代码

Places SDK for Android(新)向地点详情添加了地区代码请求参数。地区代码用于设置响应的格式,指定为两个字符的 CLDR 代码值。此参数还可能会对搜索结果产生偏向影响。没有默认值。您必须启用新 SDK 才能设置地区代码。

如果响应中地址字段的国家/地区名称与地区代码匹配,则地址中会省略国家/地区代码。

除了某些明显的例外情况之外,大多数 CLDR 代码都与 ISO 3166-1 代码完全一致。例如,英国的 ccTLD 为“uk”(.co.uk),但其 ISO 3166-1 代码为“gb”(从技术层面来说,适用于“大不列颠及北爱尔兰联合王国”实体)。此参数可能会根据适用法律影响结果。

示例请求

如需查看完整示例,请参阅地点详情(新)