您的应用中提供的 Places SDK for Android 功能包括 由您之前提交的 SDK 版本号(例如 3.5.0)组合而成 请在应用配置中指定 API 密钥上启用的 API,以及 初始化您的应用。本指南介绍了版本和 如何选择在应用中启用的版本。
SDK 版本号
您在应用级 build.gradle 中指定的 SDK 版本号 文件决定了您的应用是否可以使用 特定版本例如,自动补全(新)只能在 SDK 中使用 3.5.0 或更高版本。
有关各 SDK 版本中引入的变更的详情,请参见商家信息 Android 版 SDK 版本 备注。
适用于 Places SDK for Android 的 Places API 版本
除了指定 SDK 版本号之外,您还必须选择“地点” SDK 在 Google Cloud 控制台中调用的 API 服务:Places API 或 Places API(新)。与 SDK 版本号一起 “选择”决定了您的应用中提供具体功能的具体版本, 例如“自动补全”或“自动补全(新)”虽然您只能指定一个 SDK 版本号,则可以在您的 API 密钥,然后选择 SDK 通过哪项服务进行调用 在应用中初始化 SDK 所用的方法。不过,在大多数情况下 您需要启用 Places API(新)并使用(新)版本的 SDK 功能。
选择您的 SDK 版本和 API 服务
如需选择在您的应用中提供哪些 SDK 功能,请执行以下操作:
- 在您的 Google Cloud 项目中,启用 Places API、Places API(新)或 两者都有。有关详情,请参阅启用 API
- 在您的 API 密钥限制中,启用 Places API、Places API(新)或 两者都有。如需了解详情,请参阅限制 API 密钥。
在应用级 build.gradle 文件中,指定版本号。有关 请参阅 安装。
通过调用
Places.initializeWithNewPlacesApiEnabled()
或Places.initialize()
方法。
有关选择 Places API 服务的详情,请参阅设置您的 Google Cloud 项目。
每个版本提供的 SDK 功能
下表显示了每个 SDK 所需的 SDK 和 API 版本 功能:
功能 | 已为 API 密钥启用 Places API | 初始化方法 | 最低 SDK 版本 |
---|---|---|---|
自动补全(新) | Places API(新) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
地点详情(新) | Places API(新) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
附近搜索(新) | Places API(新) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
地点照片(新) | Places API(新) | initializeWithNewPlacesApiEnabled() |
3.4.0 |
文本搜索(新) | Places API(新) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
地点自动填充 | Places API | initialize() |
|
当前地点 | Places API | initialize() |
|
地点详情 | Places API | initialize() |
|
地点照片 | Places API | initialize() |
选择要启用的版本时的注意事项
为帮助确定选择哪个版本,请考虑以下因素:
- 如果您是刚开始使用 Places SDK for Android 的新客户, 然后从 Places API(新)和新 SDK 着手。
- 如果您是现有客户,可以继续使用现有 SDK。 不过,要充分利用性能改进和功能 Places SDK for Android(新)增强功能,则应使用新的 SDK。迁移至新的 SDK 时无需迁移,只需遵循 请按照选择您的 SDK 版本和 API 服务。
- 在 Places SDK for Android(新)中,会话令牌从 。有关详情,请参阅会话 令牌。
- 使用地点自动补全 widget 进行的调用始终调用 Place 自动补全,而非 地点自动补全(新);微件调用不受 初始化方法。
- 地点照片(新) 仅返回位图图像的 URI,而 Place 相册仅返回位图 图片。
- 当前地点现为 仅适用于 Places SDK for Android,不适用于 Places SDK for Android (新)。
Places SDK for Android 中的增强功能(新)
本部分介绍了 Places SDK for Android(新)中添加的主要功能。
在 Google Cloud 标准平台上实现
Places SDK for Android(新)在服务上实现 基础架构 。此实现带来了一个更安全、更值得信赖的平台。 这种标准设计使 SDK 之间保持了一定程度的一致性, 使用 Places SDK for Android 提高开发效率 (新)。
性能改进
Places SDK for Android(新)提供了更高的性能, 值得取代使用现有 SDK 的应用。
新功能
Places SDK for Android(新)包含所有 SDK 的最新版本 功能:
新的文本搜索服务
文本搜索(新)会返回信息 根据一个字符串描述一组地点,例如“北京烤鸭”或 "渥太华附近的鞋店"或“长安街 123 号”。该服务会返回一个列表 匹配该文本字符串的地点列表以及任何已设置的位置偏向。
新响应数据已添加到地点详情(新)和地点照片(新)
地点详情 (新)现已包含新的 评价 类。
Place
通过 Place 类 包含支持此字段的新getReviews()
方法。致电getReviews()
可返回某个地点最多五条评价。地点照片 (新)添加
AuthorAttributions
添加到PhotoMetadata
类。AuthorAttributions
包含List
AuthorAttribution
对象的操作。
向地点照片添加了新的 URI 响应(新)
您现在可以使用 地点照片 (新)返回图像位图的 URI。以前,您只能将 图片位图本身
简化的价格方案
Places SDK for Android(新)简化了定价流程, 为使用的流量付费。使用字段列表实施简化定价 也称为字段掩码。
添加了地点详情和 文本搜索 - 您可以使用字段列表来控制 要在响应中返回的字段。然后,您只需为数据付费 请求。使用字段列表是一种很好的设计做法, 请求不必要的数据,这有助于避免不必要的处理时间和 结算费用。
有关这两种 SDK 的详细定价信息,请参阅使用量和 结算。
展开的地点类型
新 SDK 添加了下表所示的地点类型。这些类型包括 作为“地点详情”的一部分返回 文本搜索响应。您还可以使用这些新类型 和现有类型。 新类型包含在表格中 答:
类型 | |||
---|---|---|---|
american_restaurant | discount_store | ice_cream_shop | sandwich_shop |
amusement_center | dog_park | indian_restaurant | school_district |
athletic_field | electric_vehicle_charging_station | indonesian_restaurant | seafood_restaurant |
auto_parts_store | event_venue | italian_restaurant | ski_resort |
banquet_hall | extended_stay_hotel | japanese_restaurant | spanish_restaurant |
barbecue_restaurant | 农场 | korean_restaurant | sporting_goods_store |
barber_shop | Farmstay | lebanese_restaurant | sports_club |
bed_and_breakfast | fast_food_restaurant | Marina | sports_complex |
brazilian_restaurant | ferry_terminal | 市场 | steak_house |
breakfast_restaurant | fitness_center | medical_lab | sushi_restaurant |
brunch_restaurant | french_restaurant | mediterranean_restaurant | swimming_pool |
bus_stop | gift_shop | mexican_restaurant | 裁缝 |
camping_cabin | golf_course | middle_eastern_restaurant | telecommunications_service_provider |
cell_phone_store | greek_restaurant | 汽车旅店 | thai_restaurant |
child_care_agency | grocery_store | national_park | transit_depot |
chinese_restaurant | guest_house | park_and_ride | truck_stop |
coffee_shop | hair_salon | performing_arts_theater | turkish_restaurant |
community_center | hamburger_restaurant | pizza_restaurant | vegan_restaurant |
顾问 | 直升飞机场 | 游乐场 | vegetarian_restaurant |
convention_center | hiking_area | 学龄前儿童 | vietnamese_restaurant |
小屋 | historical_landmark | private_guest_room | visitor_center |
courier_service | home_improvement_store | ramen_restaurant | wedding_venue |
cultural_center | 招待所 | resort_hotel | 批发商 |
dental_clinic | hotel | rest_stop |
除了这些新类型之外,Places API(新)还迁移了以下类型 从表 2(适用于 Places API)到表 A(适用于 Places API) 也就是说,您现在可以将这些类型 搜索:
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality