Places SDK for Android 支持现有的 地点详情。如果您熟悉现有的 Places SDK for Android,新版地点详情会进行以下更改:
采用了新的定价模式。如需了解所有 API 的价格信息,请参阅 Places SDK for Android(新)。
您必须通过调用
Places.initializeWithNewPlacesApiEnabled()
方法来初始化应用。如需详细了解如何选择 Places API 服务,请参阅设置 Google Cloud 项目。必须进行字段遮盖。您必须指定要在响应中返回哪些字段。没有返回字段的默认列表。如果您省略此列表,这些方法会返回错误。
以下部分介绍了其他变更。
访问新的地点类型
每个地点都可以有一个或多个相关联的类型值。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
对象,您必须:
在请求的字段列表中添加
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”(从技术层面来说,适用于“大不列颠及北爱尔兰联合王国”实体)。此参数可能会根据适用法律影响结果。
示例请求
如需查看完整示例,请参阅地点详情(新)。