选择您的 API 版本

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 的 Table 2 移到了 Places API(新版)的 Table A。也就是说,您现在可以在搜索中使用以下类型:

  • country
  • administrative_area_level_1
  • administrative_area_level_2
  • postal_code
  • locality

动态地点数据

Places API(新)支持动态响应数据,例如电动车辆充电站的空闲情况或加油站的最新油价。使用这些响应字段可打造动态用户体验。

您选择哪个 API?

在开始开发应用之前,您必须选择 API:

  1. 如果您是刚开始使用 Places API 的新客户,请先从新 API 入手。

  2. 如果您是新客户,并且现有 API(例如地点自动补全或查询自动补全)尚无替代方案,则可以组合使用新 API 和现有 API。

  3. 如果您是现有客户,则可以继续使用现有 API。不过,为了利用 Places API(新版)的性能改进和功能增强,您可以迁移到新 API。

    如需详细了解迁移,请参阅迁移概览