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 | 农庄 | 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 |
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。
如需详细了解迁移,请参阅迁移概览。