Çok sayıda işaretleyici içeren bir Yahoo haritanım var (~ 500). Harita, sayfayı kapatıncaya kadar (Firefox'ta) durakladığında ve "Bu komut dosyasını çalıştırmayı durdur" u ortaya çıkıncaya kadar yeterince iyi bir performans sergiliyor. iletişim kutusu (IE7'de). Yeterince uzun süre verilirse, betik işini tamamlar.Çok sayıda işaretleyici içeren bir Yahoo haritasını kapatırken takılmadan kaçının
Bu gecikmeyi azaltmak için yapabileceğim bir şey var mı?
Bu soyunmuş kod sorunu gösteriyor:
<script type="text/javascript">
var map = new YMap(document.getElementById('map'));
map.drawZoomAndCenter("Algeria", 17);
for (var i = 0; i < 500; i += 1) {
var geoPoint = new YGeoPoint((Math.random()-0.5)*180.0, (Math.random()-0.5)*360.0);
var marker = new YMarker(geoPoint);
map.addOverlay(marker);
}
</script>
Ben dinamik ekleme ve işaretçileri kaldırıyorsanız olay işleyicileri ile bazı hafıza sızıntıları farkındayım, ancak bu (statik olan sorun olabilir gerçi ilgili olmak). Ben aşağıda bir öneri ardından:)
Düzenleme; Oh, ve bir harita üzerinde bu kadar çok belirteçler verileri iletmek için en iyi yol olmayabilir biliyorum , ama bu benim aradığım cevap değil
window.onbeforeunload = function() {
map.removeMarkersAll();
}
ve
window.onbeforeunload = function() {
mapElement = document.getElementById('map');
mapElement.parentNode.removeChild(mapElement);
}
ama hiçbiri :(
Bu duraklatma/gecikme sırasında bir hata ayıklayıcısına (Firebug veya MS Script Debugger) ara vermeniz durumunda, hangi kod çalıştırılıyor? –