2009-05-17 24 views
11

Belirli bir sayfadaki bir haritayı görüntülemek için Google Maps API'yi kullanıyorum.Google Maps API - Yavaş yükleme javascript

Sorun, http://maps.google.com/maps?file=api..... dosyasının, sayfanın performansının çok yavaş bir şekilde azalmasıdır. Bu nedenle, JavaScript'in geri kalanı ilk önce belgeye hazır olarak yüklenir, çünkü bu belge nadiren ulaşır; Google.

JavaScript dosyasını <head> etiketinden içeriğimin altına taşımayı denedim. Ancak, tarayıcı, Google'dan dosyayı beklediği için JavaScript'in geri kalanı asla kovulmaz.

Bunun bir yolu var mı, yoksa başka biri aynı sorunu yaşıyor mu? Son zamanlarda başladı ve nedenini bilmiyorum. Herkes ilgi ise

Bu

, benim kodudur:

<script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAa24xicak8_ghHX58i7La7hRFh9iM79SNC94rOejOtdMRvQmJiBS6Uv5F_1BNSh9ZuSzFXyekHISgew"> </script> 
<script type="text/javascript" src="/js/maps.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
    // Google Maps 
    initialize(); 

    // Other JavaScript comes here.... 

    }); 
</script> 

anında

http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAa24xicak8_ghHX58i7La7hRFh9iM79SNC94rOejOtdMRvQmJiBS6Uv5F_1BNSh9ZuSzFXyekHISgew 

dosya yükler erişiyorsanız.

+7

Firebug kullanıyor musunuz? Harita api ile çalışırken firebug uygulamasının performansını azalttığını buldum ve eğer sayfayı tarayıcım olmadan bir tarayıcıda görüntülediysem iyi oldu. –

+0

Aynı şeyi gördüm, ama sadece firefox'ta ve localhost'a karşı çalışırken. IE ve Chrome iyiydi. – RichH

+0

Hata ayıklamak için Firebug kullanıyorum. Kapatmayı ve yardımcı olup olmadığını görmeyi deneyebilirim. – janhartmann

cevap

16

Bu oldukça eski bir sorudur - çözüm, firebug'ı (benim için en azından) devre dışı bırakmaktı.

+2

Evet, benim için de hem FF hem de IE9'da araştırma yapıyordum ve Firebug FF'de ve IE9'daki Geliştirici Araçları'nda kapatıldığında, harita yüklendi, thx! – Adil

3

JavaScript optimizasyonunda: JS'nizi her zaman Maps API komut dosyanızın alt kısmına yerleştirin. Kafamda herhangi bir JS'nin olması için iyi bir sebep düşünemiyorum.

+0

Bunun eski olduğunu biliyorum, ancak google maps api veya require.js kullanıyorsanız, bunların her ikisi de en üste koymanızı önerir. – skaterdav85

+1

Her ikisinde de altta sorun yaşamadım. –

+0

Eğer javascript'inizi en altta tutarsanız, sayfa oluşturuluncaya kadar çalışmaz, bu bir dizi senaryoda istenmeyen bir durumdur. – Muhd

12

Google'ın Ajax API'lerini kullanın. Geçmişte, Google'ın tüm hizmetlerine JavaScript API'sı aracılığıyla erişilebilir. Bu modüler bir sistemdir, sadece JSAPI kütüphanesini dahil etmeniz gerekir ve ihtiyacınız olan modülleri dinamik olarak yükleyebilirsiniz - sitenizi engellemez.

<script type="text/javascript"   
     src="http://www.google.com/jsapi?key=ABCDEFG"></script> 
<script type="text/javascript"> 
google.load("maps", "2"); 
google.setOnLoadCallback(function() { 
    // Your logic goes here. 
    // It will be run right after the maps module was loaded. 
}); 
</script> 

Daha fazla bilgi için bkz. JSAPI's developer documentation.

İlgili konular