4

我在街景上遇到了一些麻煩。我只想在加載完成後才顯示街景,這樣就不會顯示灰色。我搜索了API,但我不認爲有任何事情可以使用:Documentation谷歌地圖js api v3:StreetView全景完成加載?

有什麼方法(包括非官方方式)在完全加載後顯示街景?謝謝!

+0

如果您同步加載的API是否正常工作? <腳本類型= 「文本/ JavaScript的」 SRC = 「http://maps.googleapis.com/maps/api/js?sensor=false」> .... 的window.onload =初始化() ; – plexer

+0

我認爲它應該工作。檢查以下鏈接 http://jsfiddle.net/wK5Hq/23/ –

+0

@vinod_vh:您意識到您的示例在街景顯示半秒之前變灰了嗎? –

回答

0

我做了一些測試(vinod_vh的編輯示例,請參閱http://jsfiddle.net/nDwSC/2/),結果發現,該links_changed事件是最後一個推出:

  1. červen2013 17:48:28.775 ==== =發生點擊=====/nDwSC/2 /顯示/(線210)
  2. červen2013 17:48:28.780調整大小/ nDwSC/2 /顯示/(線170)
  3. červen2013 17時48分: 28.843 zoom_changed/nDwSC/2/show /(line 173)
  4. červen2013 17 :48:29.603 pano_changed/nDwSC/2 /顯示/(線158)
  5. červen2013 17:48:29.622 position_changed/nDwSC/2 /顯示/(線161)
  6. červen2013 17:48:29.634鏈接變更

所以你可能真的想要使用這個事件!它也會在不同的上下文中啓動,但是你可以通過設置一些標誌變量來處理這個變量,當你點擊按鈕時它會被設置,並在處理程序中進行測試,並有可能超時。

所以,你應該做的:

  1. 隱藏自己的街景;但不使用display: none,使用的伎倆 與關閉左隱藏技術在jQuery UI的< 1.9(爲there is it doesn't work unfortunately新 版本:

    .hide { position: absolute !important; left: -10000px !important; }

    保持同樣尺寸的隱藏幀的結果之一!

  2. 處理links_changed事件 - 刪除hide類,也調整了地圖的

。 0

如果您發現links_changed事件被觸發得太早,則無法通過處理事件乾淨地完成此操作。 You cannot even use the map idle event(和idle事件爲google.maps.StreetViewPanorama不存在)。所以最後的手段可能是使用一些固定的超時 - 完美的工作!

+0

雖然你的方法肯定聽起來不錯,但在幾乎執行的時候,它變得可見,links_changed被解僱爲早期版本:http://jsfiddle.net/fLTEm/1/embedded/result/(當事件被觸發時,黑暗覆蓋消失) –

+0

@DavidMulder - 好吧,我測試了所有可用的事件,顯然沒有任何作品。研究有時以死衚衕結束,但這也是一個結果 - 現在我們可以誠實地斷定這個問題沒有清晰的解決方案。你必須爲此設置一些固定的超時時間。 – TMS

+0

這就是爲什麼這個問題也需要非官方的方式。顏色數據的畫布檢查也沒有解決,因爲畫布受到污染... –

0

隱藏和使地圖加載後可見的div應該做的伎倆...

這樣

<div id="pano" style="position:absolute; left:410px; top: 8px; width: 400px; height: 300px;visibility:hidden;"></div> 

<script> google.maps.event.addDomListener(window, 'load',initialize); 
setTimeout('showPano()',1000); 
function showPano(){ 
document.getElementById('pano').style.visibility='visible';} 
</script> 

希望如果你想加載後再加載全景,對於您可以使用iframe它幫助你

0

,並可以與AJAX裝載機包裝,不會直到加載地圖,(準備好狀態== 4),(或多個ajax加載器包裝器,用一些全局變量作爲標誌來知道就緒狀態..,注意:這是不穩定的想法,但適用於某些瀏覽器)

這將是簡單的方法,在API中,如果你想d但願,

指事件偵聽器,

其他

options已經在文檔中一個選項,

可見::布爾::如果爲true,街景全景圖可見負載。

我希望這將使容易對你身邊的東西..

我希望我已經在上下文中回答您的實際要求..

+1

問題是StreetView是由JavaScript異步加載的...所以所有這些事件將在*之前被真實地解僱* StreetView被加載。 – TMS