Google Maps Places API regions类型失效求助:address类型可正常运行
解决Google Maps Places API自动完成
types: ['regions']失效的问题 嘿,我来帮你搞定这个问题!你遇到的核心问题很可能是国家代码格式错误,让我一步步给你分析:
1. 关键错误:无效的国家代码
你设置的componentRestrictions: {country:'aus'}里,'aus'不是Google Places API认可的国家代码格式!API只接受ISO 3166-1 Alpha-2标准的两位代码,澳大利亚的正确代码是'au',而不是三位的'aus'。
为什么types: ['address']还能工作?大概率是API在处理错误的国家代码时,对address类型的请求做了容错(比如忽略无效限制,返回默认结果),但regions类型的匹配逻辑更严格,无效的限制直接导致没有符合条件的区域结果返回,所以看起来API“失效”了。
2. 修复步骤
把你的代码修改为以下内容,替换掉错误的国家代码:
$scope.autocompleteOptions = { types: ['regions'], componentRestrictions: {country:'au'} };
修改后再测试,regions类型的自动完成应该就能正常返回澳大利亚的国家、州、城市等区域结果了。
3. 额外排查点(如果修改后还不行)
- 确认你的API密钥已经启用了Places API和Maps JavaScript API,虽然
address能工作大概率没问题,但可以在Google Cloud控制台检查一下。 - 检查API密钥的限制设置,比如是否有HTTP referrer限制导致请求被拦截,确保你的域名在允许列表内。
内容的提问来源于stack exchange,提问作者kumsu
相关产品推荐
相关产品推荐

