Клуб API Карт

карты в ie8

Пост в архиве.

простейший вызов карты

var problemMap = new ymaps.Map('problem_map', {

center:[

$('#problem_ymaps_x').val(),

$('#problem_ymaps_y').val()

],

zoom:$('#problem_ymaps_z').val()

});

 

периодически валится с сообщением в консоли «предпологается наличие объекта» по моим наблюдениям в таком случае: заходим на страницу, всё хорошо, ножимает ctrl+f5 — ymaps.Map становится undefined.


решил проблему костылём с setInterval, но хотелось бы более изящного решения

5 комментариев

Вы используете ymaps.ready или параметр onload при подключении?

$(window).load

 

вот полный пример

 

$(window).load(function() {

if ($('#problem_map').size() > 0) {

var problemMap =

new ymaps.Map('problem_map', {

center:[

$('#problem_ymaps_x').val(),

$('#problem_ymaps_y').val()

],

zoom:$('#problem_ymaps_z').val()

});

problemMap.controls.add("smallZoomControl").add("typeSelector");

 

// Расставить метки

var marks = $.parseJSON($('#problem_coords').html());

for (i = 0; i < marks.length; i++) {

var myPlacemark = new ymaps.Placemark(

[marks[i].x, marks[i].y], {}, {

iconImageHref:(marks[i].solved ? '/images/mark_solved.png' : '/images/mark_notsolved.png'),

iconImageSize:[28, 41],

iconImageOffset:[-14, -41],

draggable:true

}

);

problemMap.geoObjects.add(myPlacemark);

$(parent).data('map', true);

}

}

})

Нужно использовать ymaps.ready вместо $(window).load

спасибо, решило проблему

покажите полный пример