如何为MUI Google Maps Autocomplete添加参数仅返回地理编码结果
解决方案
你需要在调用谷歌地点自动补全服务的请求参数中添加类型过滤字段,修改位置非常明确:
找到代码中useEffect钩子内触发查询的fetch调用语句:
fetch({ input: inputValue }, (results) => {
在传入的第一个参数(请求配置对象)中新增types字段,值设置为['geocode']即可实现仅返回地理编码类结果的需求:
fetch({ input: inputValue, types: ['geocode'] }, (results) => {
这个参数是谷歌Places API官方定义的AutocompletionRequest接口的标准配置项,geocode类型会自动过滤掉商家、兴趣点(POI)等非地理编码的返回结果。
可选扩展配置
如果需要更精准的结果控制,还可以额外调整参数:
- 若要仅返回精确到街道门牌号的具体地址,可将
types值改为['address'] - 若需要限制仅返回特定国家/地区的结果,可新增
componentRestrictions参数,比如限制仅返回中国境内地址:
fetch({ input: inputValue, types: ['geocode'], componentRestrictions: { country: 'cn' } }, (results) => {
内容的提问来源于stack exchange,提问作者Thomas Chardon
相关产品推荐
相关产品推荐

