Places SDK for Android 支持地点详情(旧版)。如果您熟悉 Places SDK for Android(旧版),地点详情(新)会进行以下更改:
采用新的价格模式。如需了解所有 API 的价格信息,请参阅 Places SDK for Android(新)。
您必须通过调用
Places.initializeWithNewPlacesApiEnabled()
方法来初始化应用。如需详细了解如何选择 Places API 服务,请参阅设置 Google Cloud 项目。必须进行字段遮盖。您必须指定要在响应中返回哪些字段。没有默认的返回字段列表。如果您省略此列表,这些方法会返回错误。
以下部分介绍了其他变更。
访问新的地点类型
每个地点都可以有一个或多个关联的类型值。Android 版 Places SDK 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
类还可以包含提供方信息和作者提供方信息。如果您在应用中显示评价,则还必须显示任何提供方信息或作者信息。如需了解详情,请参阅显示评价。
如需了解详情,请参阅有关提供方信息的文档。
访问地点名称语言代码
在 Places SDK for Android(旧版)中,Place.getName()
方法会返回包含地点名称的文本字符串。如需使用地点名称填充 Place
对象,您必须在地点详情请求的字段列表中包含 Place.Field.DISPLAY_NAME
。
Place
对象现在包含名称字符串的语言代码。如需使用语言代码填充 Place
对象,您必须执行以下操作:
在请求的字段列表中添加
Place.Field.DISPLAY_NAME
。 此值用于配置响应,以在Place
对象中同时包含地点名称和语言代码。调用
PlacesClient.fetchPlace()
。PlacesClient.findCurrentPlace()
不支持语言代码字段。使用
Place.getNameLanguageCode()
方法访问Place
对象中的语言代码字段。
设置地区代码
Places SDK for Android(新版)向地点详情添加了地区代码请求参数。用于设置响应格式的地区代码,以双字符 CLDR 代码值指定。此参数还可能会对搜索结果产生偏差效应。没有默认值。您必须启用新 SDK 才能设置地区代码。
如果响应中地址字段的国家/地区名称与地区代码一致,则地址中会省略国家/地区代码。
除了某些明显的例外情况之外,大多数 CLDR 代码都与 ISO 3166-1 代码完全一致。例如,英国的 ccTLD 为“uk”(.co.uk),而其 ISO 3166-1 代码为“gb”(从技术上讲,是指“大不列颠及北爱尔兰联合王国”这一实体)。此参数可能会根据适用法律影响结果。
示例请求
如需查看完整示例,请参阅地点详情(新)。