Клуб API Карт

2 карты на 1 странице сайта

Федор Земсков
29 июля 2013, 11:22

 Добрый день друзьям!

Возникла проблема в версиях IE <= 9  с вставкой 2 карт на 1 странице.

Есть код карт, там только кординаты центра и балуна отличаются. Во всех браузерах он норм работает а вот в IE ниже 9 (включительно) не хочет вставлять карту, появляются лишь границы карты а сами карты не рисуются. в IE 10 уже все норм 

 

window.onload = function () {
    var myMap_1 = new ymaps.Map("map-1", {
        center: [55.623756, 37.459135],
        zoom: 13,
        type: "yandex#map"
    });
    myMap_1.balloon.open(
        [55.623137, 37.460005], {
            content: '<img src="/images/template/baloon.png" />'
        }, {
            closeButton: true
        });
    myMap_1.controls.add("mapTools")
        .add("zoomControl")
        .add("typeSelector");
    var myMap_2 = new ymaps.Map("map-2", {
        center: [55.611564, 37.486236],
        zoom: 15,
        type: "yandex#map"
    });
    myMap_2.balloon.open(
        [55.610535, 37.486443], {
            content: '<img src="/images/template/baloon.png" />'
        }, {
            closeButton: true
        });
    myMap_2.controls.add("mapTools")
        .add("zoomControl")
        .add("typeSelector");
}

 

Ошибок в фаирбаге нету. Не могу понять почему IE так поступает. Надеюсь на вашу помощь. Спасибо 

10 комментариев
Подписаться на комментарии к посту

Попробуйте отладить код в ИЕ.

В 9-ом есть инструменты разработчика, и возможность перевести его в режим ИЕ8-7

Федор Земсков
29 июля 2013, 11:42

Посмотрел, выдает: "SCRIPT445: Команда не поддерживается объектом"

 Строка ошибки 

 var myMap_1 = new ymaps.Map("map-1", {

 

Он что загрузить библиотеку не может что-ли?

 

 Загружаю api яндекс карт 

Так так я понял, Вы же вторую версию АПИ используете,

Она по window.onload еще не будет готова. Нужно использовать ymaps.ready(callback);

Подробнее в документации

Федор Земсков
29 июля 2013, 12:15

Спасибо, загружаю через ymaps.ready()

В IE версии 9 все хорошо работает. Но в 8-ой версии есть трабла. 

IE 8 выдает ошибку: "SCRIPT438: Объект не поддерживает свойство или метод "add" 
combine.xml, строка 1 символ 46155" 

подключите АПИ в режиме отладки

&mode=debug

и дайте ссылку на страницу

Федор Земсков
29 июля 2013, 12:50

snedo1.ru/contacts.html 

 в IE 8 там верстка страница покарябона мальца ( не успел просто ). Поэтому интересует карта.

&mode=debug добавил. 

Старые версии mootools делают нехорошие вещи, переопределяя конструктор Object. Из-за этого много чего ломается, в том числе апи. Обновите мутулз, должно заработать.

Федор Земсков
29 июля 2013, 14:51

Спасибо.

Обновил mootools вроде карты отрисовываются.

Но проблема в том что страница очень долго грузиться из-за карт, хотя остальные страницы летают в IE 10, а на этой странице приходит ошибка из за-очень долго выполняющего сценария и есть возможность остановить его.

 

 

в каком браузере долго грузится? в ие10?

 

Первое, что могу посоветовать независимо от браузера - подключать апи в режиме release, будет грузиться быстрее.

Федор Земсков
29 июля 2013, 15:32

 Да и в ниже версиях такая же беда. Какой-то сценарий очень долго выполняеться и страница зависает и выдает такую ошибку, я понимаю что сценарий с картами, потому что остальные страницы загружаются быстро. Да режим release уже включил ( стало пошустрее вроде как ) 

Все отлаживаю в IE 10 но с переходом версий на 8-9. Что еще можете посоветовать. Заранее спасибо.