Internet Explorer中的Google Maps JavaScript API错误

Fen*_*ton 1 javascript jquery google-maps jquery-plugins google-maps-api-3

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

它适用于Firefox,Chrome(等),但不适用于Internet Explorer 8.

我得到的错误是"对象不支持此属性或方法"在以下行...

map = new google.maps.Map(mapContainer, myOptions);
Run Code Online (Sandbox Code Playgroud)

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

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

任何帮助将非常感激.

UPDATE

我已经通过这段代码进行了详细的调试,它实际上是谷歌代码中的错误,这些错误被严重缩小并且完全难以理解 - 这就是地图加载的原因,因为错误是在地图初始化之后.当我知道它时,我会发布更多信息.

UPDATE2

我已经重新订购了插件中的各种内容,这导致地图显示正确的位置,但由于初始化地图时Google Maps API中出现的错误,我无法添加标记或标注.

Fen*_*ton 6

好的,我找到了解决这个问题的方法.

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

map = new google.maps.Map(mapContainer, myOptions);
Run Code Online (Sandbox Code Playgroud)

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

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

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

var map;
Run Code Online (Sandbox Code Playgroud)

在全局范围内,API可以实现它.