【问题标题】:Google Maps API v3 in IE Not Displaying Map or MarkersIE 中的 Google Maps API v3 不显示地图或标记
【发布时间】:2012-07-24 21:51:14
【问题描述】:

我们最近从 Google Maps v2 升级到 v3,现在标记和地图将不会显示在任何版本的 IE 中。它适用于所有其他浏览器。

控制台显示堆栈溢出错误,我们认为这与标记和/或标记的创建有关。我们禁用了 fitbounds 命令,地图显示但在 IE 中没有标记。然而,Firefox 和 Chrome 中的同一张地图却有令我们困惑的标记。

我花了几个小时试图找出解决这个问题的方法,在 IE 中调试并在 Google 上进行搜索,但还没有找到任何与我们的问题相似的东西。

我是 Google Map API 的新手,刚刚发现了 stackoverflow,所以我想也许这里有人会发现我遗漏的东西?

示例地图:http://tinyurl.com/bt7tvj3

【问题讨论】:

    标签: javascript internet-explorer google-maps-api-3 google-maps-markers stack-overflow


    【解决方案1】:

    安装IE9,先在普通模式下试试。

    如果可行,请尝试兼容模式。

    原因是:IE9 比以前的版本有更好的 JS 支持和更好的调试器。

    另外,通过 jshint.com 或 jslint.org 运行您的代码 - 这总是有帮助的。

    通常 IE 有缺少分号的问题,在数组和对象的末尾,比如

    var arr = [1,2,3,];
    var obj = {a:1, b:2,};
    

    jslint 和 jshint 会为您处理额外的逗号。如果你的代码通过了 jshint,但在 IE7+ 中还是不行,回来看看还有什么遗漏的。

    【讨论】:

    • Jshint 发现了一些丢失的分号,但似乎没有任何东西可以解决问题。这看起来是一个非常有用的工具,并且肯定会在未来的项目中使用它。谢谢你给我看!
    • IE9 调试器说什么? (我现在手头没有windows机器)
    • 我们想通了!使用调试器,我们注意到我们用来创建要在地图上显示的经销商数组的循环使用了一个在 IE 中不起作用的函数。所以,我们必须用通用的东西来代替它。
    • forEach,地图?他们的实现可以在 Mozilla Developer Network 上找到。或者使用modernizr的polyfills ...
    猜你喜欢
    • 1970-01-01
    • 2012-07-17
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-27
    • 1970-01-01
    相关资源
    最近更新 更多