2012-02-06 63 views
1

完成我使用谷歌地圖V3做一些地址轉換。 我通過請求和回調函數Geocoder.geocode。回調函數將在地圖上添加一個標記。畢竟,我用map.FitBounds(fullBounds)使所有制造商在眼前,其中map地圖 obejct,fullBoundsLatLngBounds obejct。我怎麼執行的東西后,所有的回調在JavaScript

下面

是一張我的代碼:

for(i = 0; i < requestArray.length; i ++) 
    { 
     geo.geocode(requestArray[i], calbck); 
    } 

我的問題是,當我在calbck調用map.fitBounds(fullBounds),並不是所有的回調函數已經完成(總是以我的觀察無)。那麼,如何能延緩fitBounds讓所有的回調函數已經完成?

回答

1

如果你知道回調的號碼,你可以調用一些其他的功能,在回調中,你增加了計數器,當計數器是一樣的回調的號碼,你執行代碼。

喜歡的東西:

function myFunctionToExecuteAfterCallbacks() 
{ 
    numCallbacks++; 
    if(numCallbacks == numAllCallbacks) 
    { 
    // Code to execute here... 
    } 
} 

至少這是我如何解決它一次。不知道更好的解決方案。 也許而不是調用另一個函數,你可以觸發一個事件。但它幾乎是相同的......

順便說一句,我發現了一些這方面的話題:

Best solution to wait for all ajax callbacks to be executed

javascript: execute a bunch of asynchronous method with one callback

相關問題