JS引用高德地图报错: AMap is not defined

时间:2025-02-07 16:22:01

目录

    • 所遇问题
    • 解决办法
      • 方法一
      • 方法二
      • 最新更新
    • 参考文章

所遇问题

在学习 WebGIS 开发的过程中,从 “基于经纬度绘制点” 章节开始,就出现报错:AMap is not defined

检查过代码,跟之前 “地图参数” 中的一致,也与老师写的一致,不清楚原因是什么。看文章一中说是因为 没有找到AMap对象
经搜索相关问题解决办法,尝试后记录下两个有效的解决办法(对我而言)。

文章参考见引用,感谢网友的分享。

解决办法

方法一

在new 实例化对象AMap前面添加 window

var marker = new ({})   //报错

var marker = new ({}) //可正常运行

方法二

我没看懂第二篇文章中作者说的, 但是将引入高德密钥资源那一块代码从 head 模块移入 body 模块中, 便可解决报错。

<body>
	<script type="text/javascript">
		window._AMapSecurityConfig = {
			securityJsCode: '「您申请的安全密钥」',
		}
	</script>
	<script type="text/javascript"
		src="/maps?v=2.0&key=您申请的key值&plugin="></script>
</body>		

最新更新

请教大佬,Ta帮我检查后发现,代码本身没有问题,是由于网络不稳定才出现这个问题。
经其提示后,我发现确实是这样。最近办公室网很差,一旦出现 “AMap is not defined” 的问题我就会多刷新两下网页,然后Bug提示就消失了。

参考文章

文章一
文章二