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

AngularJS集成Google Maps API遇REQUEST_DENIED错误(依地址而异)

分析Google Maps Geocoder返回REQUEST_DENIED的原因及解决办法

嘿,我来帮你捋清楚这个问题!你在AngularJS指令里调用Google地理编码服务时,遇到了部分地址能正常解析、但像Mallorca, Islas Baleares, España这类区域地址返回REQUEST_DENIED的情况,核心原因其实和Google Maps API的权限规则有关。

为什么会出现这个差异?

  • Google Maps的地理编码服务现在强制要求使用API密钥进行调用。你当前加载API的脚本是不带key参数的:
    <script type="text/javascript" src="//maps.googleapis.com/maps/api/js?sensor=false" defer></script>
    
    这种无密钥的调用方式在早期版本可能还能“侥幸”处理一些精准街道地址,但对于宽泛的区域级地址查询,Google的权限校验会直接拦截请求,返回REQUEST_DENIED。
  • 另外,REQUEST_DENIED的本质是请求未通过权限验证:要么是缺少有效密钥,要么是你的密钥没有启用Geocoding API,或者密钥设置了IP/域名限制,导致你的应用请求被拒。

解决步骤

  1. 申请并配置API密钥
    去Google Cloud控制台创建一个Google Maps API密钥,然后在控制台里确保启用了Geocoding API服务(这一步很容易遗漏!)。
  2. 修改API加载脚本
    在加载API的URL中添加key参数,替换成你的密钥:
    <script type="text/javascript" src="//maps.googleapis.com/maps/api/js?key=你的API密钥&sensor=false" defer></script>
    
  3. 检查密钥限制
    确认你的API密钥没有设置过于严格的IP/域名限制,确保你的AngularJS应用所在的域名/IP在允许范围内。

额外提醒

如果后续遇到OVER_QUERY_LIMIT状态码,那才是请求配额不足的问题,但当前的REQUEST_DENIED完全是权限验证层面的问题,优先解决密钥配置就能搞定啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:50:23