选择 SDK 版本

您的应用中提供的 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 功能,请执行以下操作:

  1. 在您的 Google Cloud 项目中,启用 Places API、Places API(新)或 两者都有。有关详情,请参阅启用 API
  2. 在您的 API 密钥限制中,启用 Places API、Places API(新)或 两者都有。如需了解详情,请参阅限制 API 密钥
  3. 在应用级 build.gradle 文件中,指定版本号。有关 请参阅 安装

  4. 通过调用 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 号”。该服务会返回一个列表 匹配该文本字符串的地点列表以及任何已设置的位置偏向。

新响应数据已添加到地点详情(新)和地点照片(新)

向地点照片添加了新的 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