2011-08-09 88 views
0

林有一些問題街景地圖:http://server.patrikelfstrom.se/johan/fysiosteo/?page_id=118谷歌地圖JS API V3:在鍍鉻灰地圖

有時窗口得到顯示街景的灰色代替。所以我的問題是;有什麼方法可以知道地圖何時完成加載?我猜測它在完成加載前渲染地圖?謝謝

function initialize() { 

     var myLatlng = new google.maps.LatLng(57.6988062, 11.9683293); 
     var myOptions = { 
     zoom: 16, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     disableDefaultUI: true 
     } 
     var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

     var marker = new google.maps.Marker({ 
      position: myLatlng, 
      map: map, 
      animation: google.maps.Animation.DROP, 
      title:"Fysiosteo" 
     }); 

     var panoramaOptions = { 
      position: myLatlng, 
      addressControl: false, 
      pov: { 
      heading: 90, 
      pitch: 0, 
      zoom: 0 
      } 
     }; 

     var panorama = new google.maps.StreetViewPanorama(document.getElementById("pano"),panoramaOptions); 
     map.setStreetView(panorama); 



     google.maps.event.addListener(panorama, 'idle', function() { console.log('done'); }); 

    } 

    function loadScript() { 
     var script = document.createElement("script"); 
     script.type = "text/javascript"; 
     script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&callback=initialize"; 
     document.body.appendChild(script); 


    } 

    window.onload = loadScript; 

我試着用這段代碼在地圖加載完成後向控制檯輸出「done」,但它沒有奏效。我做錯了嗎? :)

回答

0

回答你的具體問題(「有沒有辦法知道什麼時候該地圖加載完成?」):是。當地圖對象完成加載時,它將觸發idle事件。有關Map對象觸發的事件的文檔可以在http://code.google.com/apis/maps/documentation/javascript/reference.html#Map找到。

+0

好,謝謝,我想上面的代碼,但沒有成功,但。 – Johan

+0

http://google-maps-api-version-3.touraineverte.com/en/reference/StreetViewPanorama/StreetViewPanorama.htm – Johan

+0

犯規存在全景地圖空閒事件...... – Johan