我在街景上遇到了一些麻煩。我只想在加載完成後才顯示街景,這樣就不會顯示灰色。我搜索了API,但我不認爲有任何事情可以使用:Documentation谷歌地圖js api v3:StreetView全景完成加載?
有什麼方法(包括非官方方式)在完全加載後顯示街景?謝謝!
我在街景上遇到了一些麻煩。我只想在加載完成後才顯示街景,這樣就不會顯示灰色。我搜索了API,但我不認爲有任何事情可以使用:Documentation谷歌地圖js api v3:StreetView全景完成加載?
有什麼方法(包括非官方方式)在完全加載後顯示街景?謝謝!
我做了一些測試(vinod_vh的編輯示例,請參閱http://jsfiddle.net/nDwSC/2/),結果發現,該links_changed
事件是最後一個推出:
- červen2013 17:48:28.775 ==== =發生點擊=====/nDwSC/2 /顯示/(線210)
- červen2013 17:48:28.780調整大小/ nDwSC/2 /顯示/(線170)
- červen2013 17時48分: 28.843 zoom_changed/nDwSC/2/show /(line 173)
- červen2013 17 :48:29.603 pano_changed/nDwSC/2 /顯示/(線158)
- červen2013 17:48:29.622 position_changed/nDwSC/2 /顯示/(線161)
- červen2013 17:48:29.634鏈接變更
所以你可能真的想要使用這個事件!它也會在不同的上下文中啓動,但是你可以通過設置一些標誌變量來處理這個變量,當你點擊按鈕時它會被設置,並在處理程序中進行測試,並有可能超時。
所以,你應該做的:
隱藏自己的街景;但不使用display: none
,使用的伎倆 與關閉左隱藏技術在jQuery UI的< 1.9(爲there is it doesn't work unfortunately新 版本:
.hide { position: absolute !important; left: -10000px !important; }
保持同樣尺寸的隱藏幀的結果之一!
處理links_changed
事件 - 刪除hide
類,也調整了地圖的
如果您發現links_changed
事件被觸發得太早,則無法通過處理事件乾淨地完成此操作。 You cannot even use the map idle
event(和idle
事件爲google.maps.StreetViewPanorama
不存在)。所以最後的手段可能是使用一些固定的超時 - 完美的工作!
雖然你的方法肯定聽起來不錯,但在幾乎執行的時候,它變得可見,links_changed被解僱爲早期版本:http://jsfiddle.net/fLTEm/1/embedded/result/(當事件被觸發時,黑暗覆蓋消失) –
@DavidMulder - 好吧,我測試了所有可用的事件,顯然沒有任何作品。研究有時以死衚衕結束,但這也是一個結果 - 現在我們可以誠實地斷定這個問題沒有清晰的解決方案。你必須爲此設置一些固定的超時時間。 – TMS
這就是爲什麼這個問題也需要非官方的方式。顏色數據的畫布檢查也沒有解決,因爲畫布受到污染... –
隱藏和使地圖加載後可見的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它幫助你
如果您同步加載的API是否正常工作? <腳本類型= 「文本/ JavaScript的」 SRC = 「http://maps.googleapis.com/maps/api/js?sensor=false」> .... 的window.onload =初始化() ; – plexer
我認爲它應該工作。檢查以下鏈接 http://jsfiddle.net/wK5Hq/23/ –
@vinod_vh:您意識到您的示例在街景顯示半秒之前變灰了嗎? –