Если вы просматриваете следующий пример http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclusterer/1.0/examples/advanced_example.html в IE10 — отображаются точки, но не значки кластеров.
Кто знает в чем проблема/есть ли решение?
Если вы просматриваете следующий пример http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerclusterer/1.0/examples/advanced_example.html в IE10 — отображаются точки, но не значки кластеров.
Кто знает в чем проблема/есть ли решение?
У меня была та же проблема, вам нужно добавить следующий код в раздел заголовка страницы, чтобы принудительно перевести браузер в режим IE9.
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
Если вы отображаете карту внутри IFRAME, ее необходимо добавить на главную страницу.
н.б. Вам нужно будет закрыть и снова открыть браузер, чтобы увидеть, как карта работает правильно.
Для получения дополнительной информации см. этот рабочий пример.
Принудительный перевод браузера в режим 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_ + ');');
Я нашел другую причину/исправление для этой проблемы. Я использовал изображение для маркеров карты, на которое я ссылался, используя 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: '');
}
Этот скрипт не мой, я нашел его в Интернете. Надеюсь это поможет. Ваше здоровье