2013-01-18 38 views
0

我有一個谷歌地圖背景的my website通過JavaScript的頁面之一,但我注意到它並不總是加載。相反,它的一部分會在左上角顯示爲一個小方塊(就像它在平鋪頁面時停止一樣)。如果我刷新屏幕或調整窗口大小,它會加載,然後暫時不能重新創建問題。map.js背景並不總是加載,建議讓它更一致?

它首次訪問網站時發生得最爲一致,顯然是我們希望吸引網站的新訪問者的問題。

關於使其加載更好的任何想法?或者關於問題是什麼的想法?

代碼:

所有的
/* 
    Global 
    */ 
    var map; 

    function initialize() { 

     /* 
     Basic Setup 
     */ 

     var latLng = new google.maps.LatLng(39.726020913196265, -105.00015970000004); 

     var myOptions = { 
      panControl: false, 
      zoomControl: false, 
      mapTypeControl: false, 
      scaleControl: false, 
      streetViewControl: false, 
      overviewMapControl: false, 
      draggable: true, 
      disableDoubleClickZoom: true,  //disable zooming 
      scrollwheel: false, 
      zoom: 16, 
      center: latLng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP // ROADMAP; SATELLITE; HYBRID; TERRAIN; 
     }; 

     map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

     /* 
     MARKER 
     */ 

     /* 
     //for custom image 
     var image = 'yourflag.png'; 
     icon: image 

     //for animation marker drop 
     animation: google.maps.Animation.DROP 

     */ 
     var markerlatlng = new google.maps.LatLng(39.726020913196265, -105.00015970000004); 

     var marker = new google.maps.Marker({ 
      position: markerlatlng, 
      title:"Hello World!" 
     }); 

     marker.setMap(map); 

     /* 
     INFO Bubble 
     */ 

     myInfoWindowOptions = { 
      content: '', 
      maxWidth: 275 
     }; 

     infoWindow = new google.maps.InfoWindow(myInfoWindowOptions); 

     google.maps.event.addListener(marker, 'click', function() { 
      infoWindow.open(map,marker); 
     }); 

     google.maps.event.addListener(marker, 'dragstart', function(){ 
      infoWindow.close(); 
     }); 

     infoWindow.open(map,marker); 


    }//end initialize 


    /* 
    onLoad 
    */ 
    $(function(){ 
     initialize(); 

     $("#zo").click(function(event){ 
      event.preventDefault(); 
      map.setZoom(map.getZoom()-1); 
      //map.setCenter(new google.maps.LatLng(9.825183,15.1975769)); 
     }); 

     $("#zi").click(function(event){ 
      event.preventDefault(); 
      map.setZoom(map.getZoom()+1); 
     }); 

     $("#gt").click(function(event){ 
      event.preventDefault(); 
      var lt1 = new google.maps.LatLng(36.114739, -115.171840); 
      //map.setZoom(16); 
      map.panTo(lt1); 
     }); 

    }); 

回答

0

首先,我喜歡的頁面的滾動效果,但看着代碼和頁面的源代碼,我不能完全告訴你如何onload事件觸發。我也有時在某些瀏覽器上沒有完全加載某些頁面時遇到問題。

您是否嘗試過附加多個事件來加載背景?

 function doLoad() { // this is what executes when page is to load 
      initialize(); 
     } 
     //different event handlers for page load 
     if (window.addEventListener) { 
       window.addEventListener("load", doLoad, false); 
     } 
     else if (window.attachEvent) { 
       window.attachEvent("onload", doLoad); 
     } 
     else if (window.onLoad) { 
       window.onload = doLoad; 
     } 
     else window.setTimeout('doLoad', 1000); 
+0

這就是@EliteOctagon!對不起,消失......長話短說我最終搬到了紐約,那是一件完整的事情。 但我仍想解決這個問題。我不是最好的開發人員(又名新手),我將如何以及在哪裏實施您的代碼? – jacklynnn