我正在尝试扩展一个显示带有LabeledMarker的谷歌地图的网站页面。Google Maps API 定义了一个名为 GMarker 的类,该类由 LabeledMarker 扩展。
问题是,我似乎无法正确加载 LabeledMarker 脚本,即在 Google API 加载之后,我收到“未定义 GMarker”错误。
在这种情况下指定脚本的正确方法是什么?
我首先将 ASP.NET 的 ClientScript.RegisterClientScriptInclude() 用于 google API url,然后立即使用 LabeledMarker 脚本文件。
最初的 google API 加载器会编写更多的脚本链接来加载实际的 GMarker 类。在处理下一个脚本块(LabeledMarker 脚本)之前,不应该执行所有这些脚本。
我检查了生成的 HTML,并且脚本块以正确的顺序发出。
<script src="google api url" type="text/javascript"></script>
...
(the above scripts uses document.write() etc to append further script blocks/sources)
...
<script src="Scripts/LabeledMarker.js" type="text/javascript"></script>
再一次,LabeledMarker.js 似乎在 google API 完成加载之前被执行。