嵌入Google Maps iframe时控制台抛出'Uncaught Error: Nc'的解决问询
Google Maps嵌入控制台报错问题
问题现象
在多个站点嵌入Google Maps时,Chrome和Firefox控制台均出现以下报错,但地图能正常加载显示:
Uncaught Error: Nc https://maps.googleapis.com/maps-api-v3/api/js/61/3b/intl/hu_ALL/main.js:46 oaa https://maps.googleapis.com/maps-api-v3/api/js/61/3b/intl/hu_ALL/main.js:64 Re https://maps.googleapis.com/maps-api-v3/api/js/61/3b/intl/hu_ALL/main.js:63 <anonymous> https://maps.googleapis.com/maps-api-v3/api/js/61/3b/intl/hu_ALL/main.js:287 <anonymous> https://maps.googleapis.com/maps-api-v3/api/js/61/3b/intl/hu_ALL/common.js:139 twb https://maps.googleapis.com/maps-api-v3/api/js/61/3b/intl/hu_ALL/search_impl.js:3 changed https://maps.googleapis.com/maps-api-v3/api/js/61/3b/intl/hu_ALL/search.js:3
使用的iframe链接
- 链接1:
https://maps.google.com/maps?width=500&height=500&hl=hu&q=someplace=&z=16&ie=UTF8&iwloc=B&output=embed - 链接2:
https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2696.1522359383525!2d18.952773215883717!3d47.48694760422862!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x4741de52cfec418b%3A0x2999aa55455507e6!2ssomeplace!5e0!3m2!1shu!2shu!4v1553775268716
已尝试的iframe属性
为iframe添加了以下属性,但报错未解决:
allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"
问题原因及修复方案
原因分析
- Google Maps内部脚本异常:报错来自Google Maps的内部API脚本,这类无具体错误信息的栈追踪,通常是Google Maps自身的脚本兼容性问题,或是旧版嵌入链接的内部逻辑冲突。
- 嵌入链接版本问题:第一个链接使用的是旧版
output=embed格式,这类链接可能未完全适配当前浏览器环境,容易触发内部未捕获的错误。 - 无效参数干扰:第一个链接里的
q=someplace=多了一个冗余等号,这类无效参数可能触发内部解析错误。
修复步骤
- 统一使用新版嵌入格式:放弃第一个旧版
output=embed链接,全部使用第二个基于/embed路径的官方标准嵌入链接,新版格式兼容性更强。 - 清理冗余参数:检查并移除嵌入链接中的无效参数,比如第一个链接里多余的等号,避免触发内部解析异常。
- 指定API稳定版本:在
/embed链接后添加&v=weekly参数,使用Google Maps每周更新的稳定版API,减少内部脚本bug影响。 - 忽略非功能性报错:如果地图功能完全正常,这类仅出现在控制台的内部报错不会影响用户体验,可暂时忽略——Google通常会在后续API更新中修复这类问题。
内容的提问来源于stack exchange,提问作者Sirius
相关产品推荐
相关产品推荐

