Google Places Nearby 搜索结果 - 缺少详细数据?

Google Places Nearby search results - missing detail Data?

我目前正在开展一个项目,在该项目中,我们使用关键字对地点执行 "Nearby" 查询,然后我们发出后续 "Detail" 请求以获取有关特定名胜古迹的更多信息.

随着 Google 的新定价模型的实施,documentation 警告附近搜索的成本,但警告似乎暗示后续详细信息请求不会不再是必要的,因为我们最初的搜索应该给我们我们需要的一切:

By default, when a user selects a place, Nearby Search returns all of the available data fields for the selected place, and you will be billed accordingly. There is no way to constrain Nearby Search requests to only return specific fields. To keep from requesting (and paying for) data that you don't need, use a Find Place request instead.

但是,我没有看到这个。当我 运行 一个示例请求时,我的附近请求的结果只包含与 Google 找到的地点相关的最少数据。要获取详细信息,我仍然需要进行后续详细信息请求。

有人知道我是否忽略了什么吗?我包括我的请求 URL(没有 API 键)。

https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=xxxxxxxxxx&location=30.7329,-88.081987&radius=5000&keyword=insurance

这是我收到的结果之一的示例:

{
  "geometry": {
    "location": {
      "lat": 30.69254,
      "lng": -88.0443999
    },
    "viewport": {
      "northeast": {
        "lat": 30.69387672989272,
        "lng": -88.04309162010728
      },
      "southwest": {
        "lat": 30.69117707010728,
        "lng": -88.04579127989273
      }
    }
  },
  "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png",
  "id": "53744cdc03f8a9726593a767424b14f7f8f86049",
  "name": "Ann M Hartwell - Aflac Insurance Agent",
  "place_id": "ChIJj29KxNZPmogRJovoXjMDpQI",
  "plus_code": {
    "compound_code": "MXV4+26 Mobile, Alabama",
    "global_code": "862HMXV4+26"
  },
  "reference": "CmRbAAAAcHM1P7KgNiZgVOm1pWojLto9Bqx96h2BkA-IyfN5oAz1-OICsRXiZOgwmwHb-eX7z679eFjpzPzey0brgect1UMsAiyawKpb5NLlgr_Pk8wBJpagRcKQF1VSvEm7Nq6CEhCfR0pM5wiiwpqAE1eE6eCRGhQPJfQWcWllOVQ5e1yVpZYbCsD01w",
  "scope": "GOOGLE",
  "types": [
    "insurance_agency",
    "point_of_interest",
    "establishment"
  ],
  "vicinity": "70 N Joachim St, Mobile"
}

我考虑过删除这个问题,但我想我会保留它以防其他人像我一样感到困惑。

事实证明,我在“附近搜索”结果中寻找的额外详细信息字段在那里……有点。

Google 的新定价模型将地点数据字段分为三个层级:基本数据、联系方式和大气层(基本数据是免费的,但其他两个会增加成本)。

作为这些更改的一部分,Place API 调用已扩展为允许用户指定他们想要的数据字段,这样他们就不必为不需要的额外数据付费它。

根据问题中的注释,附近搜索查询包括所有可用的数据字段,并且不支持用于控制数据的参数——它总是 return 数据落入[基本+联系+氛围]桶。

到目前为止,一切都很好。

不过,让我感到困惑的是不同数据层中包含的具体内容。这些笔记我翻了好几遍才发现内容不一样。

Places details 请求的字段是这样分解的:

Basic

The Basic category includes the following fields: address_component, adr_address, alt_id, formatted_address, geometry, icon, id, name, permanently_closed, photo, place_id, plus_code, scope, type, url, utc_offset, vicinity

Contact

The Contact category includes the following fields: formatted_phone_number, international_phone_number, opening_hours, website

Atmosphere

The Atmosphere category includes the following fields: price_level, rating, review

这是查找 Places search 请求的方式:

Basic

The Basic category includes the following fields: formatted_address, geometry, icon, id, name, permanently_closed, photos, place_id, plus_code, scope, types

Contact

The Contact category includes the following field: opening_hours (Place Search returns only open_now; use a Place Details request to get the full opening_hours results). Atmosphere

The Atmosphere category includes the following fields: price_level, rating

我还没有找到具体的文档,但是附近搜索请求的结果似乎与地点搜索(包括联系人和氛围)很接近(但不完全相同)。

我最初认为附近搜索结果现在包含联系人和氛围数据(如果可用),这意味着它会包含地点详细信息文档中列为联系人和氛围数据的所有字段,但事实并非如此案例.