Клуб API Карт

И всё же она виснет

cycler
25 января 2011, 02:50
http://kirillaristov.com/map : обычная карта на всю страницу и два трека.

Сначала успешно загружается карта, потом идёт запрос на оверлей с треками. И вот в этот момент браузер железно вешается на 100%. Ради интереса ходил чай пить, а он так на сотне и висит без загруженных треков.

В Опере всё нормально, всё летает. А вот ФФ (Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13) висит. Пробовал ФФ в режиме приватного просмотра, чтобы исключить куки, но такое же висение.

Уже приходил с такой проблемой, с тех пор я вынес карту на отдельную страницу, безо всякого стороннего js. Только инициализация карты, загрузка оверлеев с треками и обработка ошибок неудачной загрузки. И кнопка скрытия трека.

Друзья, просьба! Запустите http://kirillaristov.com/map в своём ФФ и скажите - виснет ли? Если всё гуд, то значит у меня что-то с компом. А больше не знаю на что думать. Она вообще странно себя ведёт - то через пять раз глючила, то через раз, а теперь вообще не запускается. Проблемы только в ФФ.
8 комментариев
Подписаться на комментарии к посту
ФФ 3.6 x64 загрузка ~ 10 секунды.
При этом ~3 ушло на отображение "кучи-кучи" точек. А остальные 7 на полилайна через полконтинента.

вариант номер 1

момент


var ml1 = new YMaps.KML('http://kirillaristov.com/kml-files/volga-2010.kml');
var ml2 = new YMaps.KML('http://kirillaristov.com/kml-files/transrussia-2008.kml');
map.addOverlay(ml1);
map.addOverlay(ml2);


замените на две пары


замените на две пары


setTimeout(function(){
var ml2 = new YMaps.KML('http://kirillaristov.com/kml-files/transrussia-2008.kml');
map.addOverlay(ml1);
},1);


это решит проблему эффекта "зависания" браузера.

Вторая проблема заключается в том что лично у меня загрузка трека дорог(а он весит всего 125кб) заняло 8 секунд
Как еще один вариант - попробуйте трек разместить например на народе. Быть может реакция будет пошустрее
то есть первый трек добавлять сразу, а второй по таймауту? В приведённом коде ml1 и ml2 - это верно? кажется везде должно быть ml2?
малек ошибся при копипастинге :)
и лучше оба трека добавлять по таймауту.
ФФ 4.0b9
тоже самое:

загрузка ~ 10 секунды.
При этом ~3 ушло на отображение "кучи-кучи" точек. А остальные 7 на полилайна через полконтинента.
перенос файла на народ(только с расширением xml) уменьшил время "появления" трека раза в два.
хостинг в США, пока запрос плавает через Атлантику.... )))
 Вроде пока не виснем

        var ml1, ml2;
            setTimeout(function(){
                ml1 = new YMaps.KML('http://kirillaristov.com/kml-files/volga-2010.kml');
                map.addOverlay(ml1);
                YMaps.Events.observe(ml1, ml1.Events.Fault, function (ml1, error) {alert('Неудачно загружен трек kirillaristov.com/kml-files/volga-2010.kml. ' + error); });
            }, 1);
            setTimeout(function(){
                ml2 = new YMaps.KML('http://kirillaristov.com/kml-files/transrussia-2008.kml');
                map.addOverlay(ml2);
                YMaps.Events.observe(ml2, ml2.Events.Fault, function (ml2, error) {alert('Неудачно загружен трек kirillaristov.com/kml-files/transrussia-2008.kml. ' + error); });
            }, 2);