0

我想以集羣的形式在地圖上顯示標記,爲此我使用「markercluster.js」和谷歌地圖v3庫。但是這裏的問題是,要在地圖上顯示標記,這兩個文件應該完全加載。一種解決方案是我同步加載至少一個文件,但我想使用異步和延遲加載這兩個文件。有什麼辦法可以實現這兩件事情。目前我正在以這種方式加載文件,但是在markercluster之前加載googleapi時,它開始在initialize函數中顯示markerCluster爲undefined。如何在兩個js文件完全加載後調用常用函數?

<script async defer src="js/markerclusterer.js"></script> 
<script async defer src="//maps.googleapis.com/maps/api/js?v=3&callback=initialize"> </script> 

回答

1

您可以使用全局變量和onload事件。

<script async defer src="js/markerclusterer.js" onload="init()"></script> 
<script async defer src="//maps.googleapis.com/maps/api/js?v=3" onload="init()"></script> 

然後你的函數看起來是這樣的:

var g_file_loaded = 0; 

function init() 
{ 
    g_file_loaded++; 

    if (g_file_loaded === 2) 
    { 
     // your initialize function here 
    } 
} 
+0

感謝它是工作文件中的答案。如果您使用過gplus登錄,請嘗試回答我的其他問題。 http://stackoverflow.com/questions/38211396/whats-the-difference-between-gapi-auth-signin-and-gapi-auth-authorize-in-gplus – user3542450

相關問題