MarkerClusterer在IE10中不显示图标

时间:2013-05-10 09:18:26

标签: google-maps google-maps-api-3 internet-explorer-10 markerclusterer

如果您在IE10中查看以下示例http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclusterer/1.0/examples/advanced_example.html - 它会显示点但不会显示群集图标。

任何人都知道问题是什么/是否有修复?

3 个答案:

答案 0 :(得分:2)

强制浏览器进入IE9模式是不好的做法 - 特别是因为MarkerClusterer。而是修改第956行(https://code.google.com/p/google-maps-utility-library-v3/source/browse/trunk/markerclusterer/src/markerclusterer.js?r=110#956)上的代码:

if (document.all) {
    style.push('filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(' + 'sizingMethod=scale,src="' + this.url_ + '");');
} else {
    style.push('background:url(' + this.url_ + ');');
}

对此:

style.push('background:url(' + this.url_ + ');');

答案 1 :(得分:1)

我遇到了同样的问题,您需要将以下代码添加到页面的head部分内,以强制浏览器进入IE9模式

<meta http-equiv="X-UA-Compatible" content="IE=9"/>

如果要在IFRAME中显示地图,则必须将其添加到母版页。

n.b。您需要关闭并重新打开浏览器才能看到地图正常工作。

有关详细信息,请参阅this working example

答案 2 :(得分:1)

我找到了解决此问题的另一个原因/解决办法。我使用javascript window.location.origin使用图像作为地图标记。 Internet Explorer(IE)10或更低版本无法访问此对象,导致“未定义”。路径的对象。

解决方案:避免使用window.location.origin对象。使用相对路径或以下脚本:

if (!window.location.origin) {
      window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
    }

这个脚本不是我的,我在互联网上找到它。希望这可以帮助。干杯