我試圖讓我的覆蓋層顯示更慢,而不是同時顯示所有。代碼完美工作,直到我添加setTimeout。當我嘗試運行它時,控制檯表示latLng未定義。setTimeout不起作用。控制檯說latLng沒有定義
經過搜索,我看到很多人都有類似的問題,但他們都沒有回答我的問題。
下面是該功能。讓我知道你是否需要更多的代碼。
function getAndDrop() {
$.ajax({
url : 'php/locationarray.php',
success : function(data) {
latLng = data.split(" ");
for (i = 0; i < latLng.length; i++) {
setTimeout(function(){
var loc = latLng[i].split("|");
if (marker.length > maxOverlays)
clearSingleOverlay();
addMarker(loc[0], loc[1]);
}, i*200);
}
}
});
}
編輯:latLng被定義爲全局以上。這是當地的。我在全球範圍內嘗試調試
@IvanL latLng包含空格分隔的座標。我不認爲這可能是問題,因爲它沒有setTimeout()就完美運行。當setTimeout()被移除時,它的功能就像我所期望的那樣。它將所有的覆蓋層都放得更快,看起來好像它們全都出現在同一時間 – user2465313