Показать сообщение отдельно
  #1 (permalink)  
Старый 20.11.2013, 11:22
Новичок на форуме
Отправить личное сообщение для Diam4ik Посмотреть профиль Найти все сообщения от Diam4ik
 
Регистрация: 19.11.2013
Сообщений: 4

Долгое отрабатывание скрипта и блокирование страницы
Приветствую всех.

Такая проблема: использую api google maps, и для объектов на карте использую кластеры MarkerClusterer (https://developers.google.com/maps/a...toomanymarkers).
Объектов для карты огромное количество (аля 50.000).
Сначала грузится карта, все ок, потом в цикле начинает наполняться слой меток (объектов) для карты. И вот это наполнение карты данными блокирует страницу и не дает ничего делать, пока не заполнится вся карта.
Пробовал отрабатывать скрипт последним, подгружал через ajax, но в любом случае вызывает "подвисание" страницы во время исполнения этого цикла.

Вот код данного цикла (на этот момет использую ajax).

$.each(response, function(i, datajson){

                var contentString = '<div class="gmaps-marker-window"><b>'+datajson.country_name+'</b> '+datajson.name+'</div>';

                var latLng = new google.maps.LatLng(datajson.x, datajson.y);
                var marker = new google.maps.Marker({
                    position: latLng,
                    icon: markerImage,
                    shadow: markerImageShadow
                });

                markers.push(marker);

                google.maps.event.addListener(marker, 'mouseover', function() {
                    if (infoMarker) { 
                        infoMarker.close();
                    }
                    infoMarker = new google.maps.InfoWindow({content: contentString});
                    infoMarker.open(map, marker);
                });
                google.maps.event.addListener(marker, 'click', function() {
                    get_info_about_course(datajson,1);
                });	

            });


Собственно сам вопрос:
Может кто знает, как избавиться от блокировки страницы при отрабатывании (прошу заметить, именно отрабатывании, не загрузке) скрипта или может другие идеи?
Ответить с цитированием