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

如何通过Google Maps Autocomplete API限定澳大利亚NSW地区搜索结果

如何在Google Places Autocomplete中筛选澳大利亚NSW地区的郊区

直接通过componentRestrictions限定州级区域

Google Places API的componentRestrictions参数支持更细致的区域筛选,除了country,还可以指定administrative_area来锁定具体州。对于新南威尔士州(NSW),直接在配置里添加这个规则就能过滤掉其他州的同名郊区。

修改你的options配置即可:

const options = {
    fields: ["address_components", "geometry", "types", "name"],
    componentRestrictions: { 
        country: 'au',
        administrative_area: 'NSW' // 新增NSW州限制
    },
    types: ['locality', 'postal_code'] // 这个类型配置是合适的,无需修改
};

关于Place Types的说明

你当前使用的['locality', 'postal_code']完全符合需求:

  • locality对应城镇、郊区这类地理区域,正是你要搜索的目标类型
  • postal_code支持邮编搜索,能覆盖用户输入邮编的场景

不需要更换其他类型,这个配置已经精准匹配你的需求。

额外验证(可选)

如果担心极端情况下API返回不符合规则的结果,可以在place_changed事件中添加验证逻辑,检查选中地点的州是否为NSW:

autocomplete.addListener('place_changed', function () {
    const place = autocomplete.getPlace();
    // 从address_components中提取州信息
    const state = place.address_components?.find(component => 
        component.types.includes('administrative_area_level_1')
    )?.short_name;
    
    if (state === 'NSW') {
        console.log('符合要求的NSW地区:', place);
        // 这里处理符合条件的结果
    } else {
        console.log('非NSW地区,忽略:', place);
        // 可以提示用户选择NSW的地点
    }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 13:09:26