Internet Explorer中的Google Maps JavaScript API错误

我为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

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

UPDATE2

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

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

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

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

请注意,“map”是这些奇妙的神秘范围变量之一…而且我在我的jQuery插件中运行所有这些代码 – 所以最终的结果是Google Maps API无法处理地图变量。

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

所以解决方法是声明……

 var map; 

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

我认为这只是时间问题。 尝试从html进行此调用:

 $("#map").simplemap({ search: "Buckingham Palace, London", description: "Buckingham Palace,
London" });

准备好了:

 $.ready(function() { $("#map").simplemap({ search: "Buckingham Palace, London", description: "Buckingham Palace,
London" }); });