如何将谷歌地图自动补全功能限制为仅单个国家(多米尼加共和国)
如何将谷歌地图自动补全功能限制为仅单个国家(多米尼加共和国)
Hey there! 看起来你已经找对方向了——用 componentRestrictions 来限制自动补全结果到多米尼加共和国,但可能是一个小小的语法问题让功能没正常工作。咱们来把它修好,确保一切按预期运行。
首先,先确认你思路里的正确部分:
- 你用了多米尼加共和国对应的正确国家代码
'do'放在componentRestrictions里 types数组设置为同时包含城市和地理编码,如果你需要地址和城市两种建议的话,这个配置没问题
现在看你的JavaScript代码,在 addListener 代码块的末尾有个小语法错误——你漏掉了闭合的括号和大括号来结束监听器的设置,这可能导致代码无法正常执行。
下面是修正后的可正常运行的代码:
HTML 代码
<input type="text" id="searchInput" class="form-control" placeholder="Search for a location..." >
JavaScript 代码
let autocomplete; const input = document.getElementById('searchInput'); autocomplete = new google.maps.places.Autocomplete(input, { types: ['(cities)', 'geocode'], // 允许城市和地址两种搜索建议 componentRestrictions: { country: 'do' } }); // 处理地点选择事件 autocomplete.addListener('place_changed', function() { const place = autocomplete.getPlace(); if (!place.geometry) { return; } }); // 补上了之前缺失的闭合符号
还有几个需要确认的点:
- 要确保在这段脚本运行之前,你已经正确加载了谷歌地图Places API(记得带上你的API密钥)
- 国家代码
'do'确实是多米尼加共和国的正确代码——谷歌使用ISO 3166-1 alpha-2两位字母国家代码,do完全对应
把那个语法错误修正,再确认API加载正常后,你的自动补全就只会显示多米尼加共和国的结果了。试试这个修改,应该能解决你的问题!
备注:内容来源于stack exchange,提问作者Sebastian Nin
相关产品推荐
相关产品推荐

