You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在新版Nearby Search中设置FieldMask及相关技术问题

Google Places V1 Nearby Search 相关问题解答

问题1:如何使用v1.PlacesClient的searchNearby方法设置FieldMask?

FieldMask需要通过请求头X-Goog-FieldMask指定,直接在requestOptions的headers中配置即可,按需选择需要返回的字段。修改你的代码示例如下:

const requestOptions = { 
  timeout: 1000,
  headers: {
    // 按需指定要返回的字段,多个字段用逗号分隔
    'X-Goog-FieldMask': 'places.displayName,places.formattedAddress,places.location,places.rating'
  }
}

const placesNearbyResponse = await placesClient.searchNearby(requestParams, requestOptions);

如果多个请求需要统一的FieldMask,也可以在实例化PlacesClient时全局设置,但更推荐按需配置,适配不同请求的字段需求。

另外注意你原代码里的一个错误:radius应该属于circle对象的属性,而不是和circle同级,否则请求会失效,已在后续完整代码中修正。

问题2:是否可以使用@googlemaps/google-maps-services-js替代v1.PlacesClient?尝试使用该库时,它始终调用旧版Nearby Search。

不行。@googlemaps/google-maps-services-js目前主要封装的是旧版Places Web Service接口,没有对新版Places V1 API提供支持,所以默认只会调用旧版Nearby Search。如果要使用新版接口,必须用你当前正在用的@googlemaps/places包(即v1.PlacesClient),这是官方针对新版Places V1推出的专属客户端。

问题3:v1.PlacesClient是否适用于后端/服务器端应用,还是仅适用于前端应用?

v1.PlacesClient完全支持后端/服务器端应用。它基于gRPC实现,适配Node.js环境,在服务器端使用时:

  • 可以妥善保管API密钥,避免暴露到前端
  • 不受浏览器跨域限制,能灵活处理复杂的请求逻辑
  • 适合批量请求、数据预处理等后端场景

修正后的完整代码片段

// 导入Places库
import places from '@googlemaps/places';

// 实例化客户端
const placesClient = new places.v1.PlacesClient({
  apiKey: process.env.GOOGLE_MAPS_API_KEY!
});

const requestParams = {
  locationRestriction: {
    circle: {
      center: {
        latitude: 48.1351253,
        longitude: 11.5819806,
      },
      radius: 3000, // 修正:radius归属到circle对象内
    },
  },
  includedTypes: ['restaurant'], // 限制结果为指定类型的地点
  language: 'en', // 指定响应语言
  maxResultCount: 20, // 返回的最大结果数
};

// 添加FieldMask请求头
const requestOptions = { 
  timeout: 1000,
  headers: {
    'X-Goog-FieldMask': 'places.displayName,places.formattedAddress,places.location,places.rating'
  }
}

const placesNearbyResponse = await placesClient.searchNearby(requestParams, requestOptions);

内容的提问来源于stack exchange,提问作者Nir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 21:22:44