2012-07-05 19 views
0

標記在Firefox中正確顯示,不在Chrome或Opera中顯示。我認爲我有一些示波器問題,因爲db_locations陣列有時會丟失它的價值,並且會空到buildMap()。我說「有時」,因爲當我在BuildMap()中增加alert(db_locations)在第一頁刷新'趨於'顯示實際值。Maps API v3 - Chrome和Opera未顯示標記

感謝任何幫助。

var db_locations = new Array(); 
$.ajax({ 
    type: "GET", 
    url: "markers_xml.php", 
    dataType: "xml", 
    success: function(xml) { 
... 
var inside = new Array(val1,val2,val3 etc); 
db_locations[i]=inside; 
... 
}); 

function buildMap() { /* this is the init function */ 
... 
setMarkers(map, db_locations); 
... 
} 

function setMarkers(map, locations) { 
// markers loop 
} 

window.onload = buildMap; 

回答

2

很有可能AJAX請求沒有按時返回。在函數中包裝AJAX調用,在Ajax成功函數中調用buildMap,並在窗口加載時調用AJAX請求包裝函數。

+0

好抓Achal!非常感謝 – TMichel 2012-07-05 09:42:05

+0

對你的一個小問題:你最終是否在window.onload上發送了ajax調用?我似乎無法想到一個簡單的方法,以便在加載窗口之前發送ajax請求,但是隻有在調用ajax請求和*窗口加載後才調用buildMap。你最終做了什麼? – 2012-07-05 20:08:54