我在StackOverflow上看到很多答案,說JavaScript按順序執行代碼,但我實際上可以看到我自己的JavaScript沒有這樣做。從下面的代碼:JavaScript:應該按順序執行函數,而不是實際執行?
我得到的事件順序如下:
- 'centre_map' 警報
- 'add_markers_within_bounds' 警報
- 'add_marker' 警報
- 單獨的紅色標記出現在地圖上(即add_marker呈現)
- 多個藍色標記出現在地圖上(即add_markers_within_邊界呈現)
爲什麼add_markers_within_bounds
在add_marker
開始之前沒有完成:我該如何做到這一點?
我知道一種方法是在調用從add_marker
內add_markers_within_bounds
,但由於種種原因,我寧願保持其作爲一個單獨的函數。
許多谷歌地圖功能執行與回調Ajax調用,所以其他的JavaScript將繼續執行(按順序),直到異步請求完成。因爲我沒有時間爲你寫一個完整的答案,對不起:-) – 2010-05-27 15:19:49
另外,你正在使用Maps API v2 - 你可能想遷移到v3。它不會解決您的問題,但不使用已棄用的系統可能是個好主意。 http://code.google.com/apis/maps/documentation/javascript/basics.html – Matchu 2010-05-27 15:29:00
你們都是絕對正確的。謝謝 - 我已升級到v3。通過允許您在標記上設置顯示優先級,也可以輕鬆解決問題! – AP257 2010-05-27 19:22:21