Places API 支持两个 API 版本:Places API 是现有的 API,而 Places API(新)是 API 的下一代版本。
发布 Places API(新)后,您的第一项任务是决定使用哪组 API。如果您是新客户或已在使用这些 API 的现有客户,情况就如此。您可以通过本指南了解这两个 API 之间的主要区别。
API 列表
下表列出了这两组 API。如果您是现有客户,请使用此表来确定用于替换您当前使用的 API 的新 API。
Places API | Places API(新) | 备注 |
---|---|---|
查找地点 | 文本搜索(新) | 没有新版本的“查找地点”。 文本搜索(新)已将其取代。 |
附近搜索 | 附近搜索(新) | 所有使用现有 API 且包含文本查询的请求都应使用文本搜索(新),因为附近搜索(新)不支持文本输入。 |
文本搜索 | 文本搜索(新) | |
地点详情 | 地点详情(新) | |
地点照片 | 地点照片(新) | |
地点自动填充 | 自动补全(新) | |
查询自动补全 | 自动补全(新) | 自动补全功能中添加了一些功能(新增) |
您在 API 密钥上启用的 Places API 服务版本可控制您的应用使用的 API:
Places API:启用现有的 API。如果仅为与您应用的 API 密钥关联的项目启用了 Places API,您的应用将无法访问新的 API。
Places API(新):启用添加到 Places SDK for iOS 的主要功能(新)中所述的所有新 API 和功能。您的应用将无法访问现有 API。
两者:启用 Places SDK for iOS(新)和 Places SDK for iOS 的所有功能和 API。
如需详细了解如何选择 Places API 服务,请参阅设置您的 Google Cloud 项目。
迁移到新 API
如果您使用的是现有 API 并希望迁移到新 API,请参阅每个 API 的以下迁移指南:
向 Places API 添加的主要功能(新)
本部分介绍了 Places API(新)中添加的主要功能。
在 Google Cloud 标准平台上实现
Places API(新)在 Google Cloud 上的服务基础架构上实现。此实现提供了一个更安全、更可信的平台,并具有 OAuth 等增强的安全选项。这种标准 API 设计使 API 之间保持了一定程度的一致性,提高了 Places API(新)的开发效率。
性能改进
Places API(新)提升了性能,因此很有必要取代使用现有 Places API 的应用。
简化的价格方案
Places API(新)简化了定价流程,因此您只需为实际使用的数据付费。使用字段掩码实现简化的价格。
对于“地点详情(新)”“附近搜索(新)”和“文本搜索(新)”,您可以使用字段掩码来控制要在响应中返回的字段列表。然后,您只需为所请求的数据付费。使用字段遮盖是一种很好的设计做法,可确保您不会请求不必要的数据,这有助于避免不必要的处理时间和结算费用。
地点的一致响应数据
使用现有的 API 时,地点详情 API、附近搜索 API 和文本搜索 API 会针对地点返回不同的响应数据。Places API(新)会对响应进行标准化,以便这些 API 针对地点返回相同的数据。
展开的地点类型
现在,API 响应可包含地点的主要类型。每个地点都可以有一个指定为地点主要类型的类型值,如表 A 中所列。
此外,新 API 还会添加下表所示的地点类型。您可以在使用“附近搜索(新)”和“文本搜索(新)”进行搜索时,使用这些新类型和现有类型。新类型均包含在表 A 中。
类型 | |||
---|---|---|---|
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 |
顾问 | 直升飞机场 | playground | 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(新)还将以下类型从 Places API 的表 2 移到了 Places API(新)的表 A 中。这意味着,您现在可以将这些类型作为搜索的一部分:
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality
动态地点数据
Places API(新)支持动态响应数据,例如电动车辆充电站的可用性或加油站的最新燃料价格。您可以使用这些响应字段来打造动态的用户体验。
您应选择哪个 API?
在开始应用开发之前,您必须选择 API:
如果您是刚开始使用 Places API 的新客户,请从新 API 入手。
如果您是新客户,并且现有 API(例如地点自动补全或查询自动补全)还没有替代 API,您可以组合使用新 API 和现有 API。
如果您是现有客户,可以继续使用现有 API。不过,为了充分利用 Places API(新)的性能改进和功能增强功能,您可以迁移到新 API。
如需详细了解迁移,请参阅迁移概览。