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 密钥关联的项目仅启用了 Google 地图 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 会针对同一地点返回不同的响应数据。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 | 农庄 | 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(新)还将以下类型从 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。不过,为了利用 Places API(新版)的性能改进和功能增强,您可以迁移到新 API。
如需详细了解迁移,请参阅迁移概览。