我想我的口活地震混搭在Google地圖何時加載?
http://www.oe-files.de/gmaps/eqmashup.html
谷歌地圖API第3版。目前我正努力尋找地圖和特別是自定義控件呈現的正確時刻,所以我可以加載第一個數據饋送。自定義控件需要顯示,因爲代表多個提要中的一個的提要被突出顯示。
我已閱讀關於google.maps.event.addListenerOnce和事件「空閒」和「tilesLoaded」,但這些似乎都不起作用。
混搭,只要我來了,可以在這裏找到:
http://www.oe-files.de/gmaps/eqmashup-ng.html
點擊進一個選擇器(右下)將裝載的飼料,一旦頁面加載。但我似乎無法找到正確的時刻加載頁面後調用「switchFeed」。
大量的其他東西仍然缺失,但目前這是最大的問題。任何幫助表示讚賞。
更新:
目前,該序列應該初始化地圖並加載第一個數據:
google.maps.event.addDomListener(window, 'load', initMashup);
google.maps.event.addListenerOnce(map, 'tilesLoaded', function() {
switchFeed('usgs25');
});
這不起作用,因爲「地圖」未初始化當addListerOnce被執行時。我曾嘗試另一種方式是(或多或少)
google.maps.event.addDomListener(window, 'load', initMashup);
switchFeed('usgs25');
這也不管用,因爲switchFeed切換被添加自定義控制(通過map.controls)按鈕的樣式,該按鈕尚未呈現。
所以我的問題是:什麼時候地圖完全加載,以及如何將動作附加到這個事件?
異步性是*問題。就我所見,map.controls []。push在控件實際繪製之前返回。這樣,即使我使用google.maps.addListenerOnce等待調用loadInitialFeed,對switchFeed的調用也會生成一個錯誤,因爲document.getElementById(currentfeed).setAttribute會嘗試更改當前不可用的元素樣式。我已經轉移了一系列的行動,現在已經找到了一個有效的方法。這遠不是很好,但整個代碼從來沒有打算贏得選美比賽...... – user2449450