Internet Explorer 中的 Google 地图 JavaScript API 错误

2023-12-14

我为 Google Maps JavaScript API v3 编写了一个非常简单的 jQuery 插件。

它可以在 Firefox、Chrome(等)中运行,但不能在 Internet Explorer 8 中运行。

我收到的错误是以下行中的“对象不支持此属性或方法”...

map = new google.maps.Map(mapContainer, myOptions);

我已经在网上放置了一个工作示例页面来演示...我正在尝试获取白金汉宫!您可以在 jquery.simplemap.js 文件中看到后面的代码,它没有缩小。

http://www.stevefenton.co.uk/cmsfiles/assets/File/simplemap.html

任何帮助将非常感激。

UPDATE

我已经通过这段代码进行了详细的调试,它实际上在 Google 代码中出错,该代码被严重缩小并且完全难以辨认 - 这就是地图加载的原因,因为错误是在地图初始化之后发生的。当我知道时,我会发布更多内容。

UPDATE2

我已经重新排序了插件中的各种内容,这导致地图显示正确的位置,但由于初始化地图时 Google 地图 API 深处发生的错误,我无法添加标记或标注。


好的,我已经找到了解决这个问题的方法。

Google Maps API 内部引发的错误是由用于存储地图的变量的范围引起的。 API 的所有示例都使用类似的内容......

map = new google.maps.Map(mapContainer, myOptions);

请注意,“map”是这些奇妙的神秘范围变量之一...并且我在 jQuery 插件内运行所有这些代码 - 所以最终结果是 Google Maps API 无法获取地图变量的句柄。

通过将地图声明为全局变量,Google Maps API 可以访问它,一切都神奇地开始完美运行。

所以解决方法是声明...

var map;

在全局范围内,因此 API 可以访问它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Internet Explorer 中的 Google 地图 JavaScript API 错误 的相关文章

随机推荐