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

Google Maps API查询机场时无法获取场所名称问题求助

你当前获取不到场所名称的核心原因是setFields方法没有主动声明要返回name字段,谷歌地图Places API遵循「只返回你请求的字段」规则,你当前仅配置了address_component、formatted_address、vicinity三个返回字段,自然不会包含机场名称相关内容。

解决方案

  1. 修改setFields配置,新增name字段,场所的官方名称(包含LGA标识)会存储在该字段中
  2. 如果你需要仅搜索机场类场所,可在Autocomplete初始化时添加types: ['airport']配置,过滤无关结果;注意不要设置types: ['address'],该配置只会返回民用地址类结果,会过滤掉机场、商场这类POI场所。

修改后参考代码:

const autocomplete = new gmaps.places.Autocomplete(addressInput, {
  types: ['airport'] // 按需配置:仅搜机场可保留,搜所有POI改为['establishment'],不需要过滤则留空
});
// 新增name字段到返回字段列表
autocomplete.setFields(['address_component','formatted_address','vicinity', 'name']);

autocomplete.addListener('place_changed', () => {
    let place = autocomplete.getPlace();
    // 直接从place.name中获取场所名称
    console.log('场所名称:', place.name);
    if (place.address_components && place.address_components.length) {
        console.log(JSON.stringify(place, null, 2))
    }
});

修改后返回结果会新增对应名称字段,示例如下:

{
  "name": "LaGuardia Airport (LGA)",
  // 其余原有字段保持不变
  "address_components": [...],
  "formatted_address": "New York, Queens, NY 11371, USA",
  ...
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:09:03