Я пытаюсь сделать мои оверлеи более медленными, а не одновременно. Код работает отлично, пока я не добавлю setTimeout. Когда я пытаюсь запустить его, консоль говорит, что latLng не определен.комплектTimeout не работает. Консоль говорит, что 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