setTimeout / Loop… все еще в замешательстве
Так что я'Я был во всем этом со вчерашнего дня. Я сделал различные итерации базового кода, который пытался получить желаемый результат (я хочу, чтобы метки сбрасывались по порядку каждые XX мс), но ничего не работает. В результате я получаю либо они идут все сразу, либо нет вообще. Я'Я вполне уверен, что "не за что" проблемы из-за синтаксических ошибок я исправляю и получаю "все сразу".
Так вот's функция ...
function marker(location)
{
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(37.5, -98.35);
var mapOptions =
{
zoom: 5,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById('googleMap'), mapOptions);
var infowindow = new google.maps.InfoWindow(), marker, i;
for (i = 0; i < location.length; i++)
{
marker = new google.maps.Marker(
{
position: new google.maps.LatLng(location[i][1], location[i][2]),
animation: google.maps.Animation.DROP,
map: map
}
);
google.maps.event.addListener(marker, 'click', (function (marker, i)
{
return function ()
{
infowindow.setContent(location[i][0]);
infowindow.open(map, marker);
}
}
)(marker, i));
}
}
Я думаю, что я должен делать в течение, как это ...
for (i = 0; i < location.length; i++)
{
setTimeout(function() {
marker = new google.maps.Marker(
{
position: new google.maps.LatLng(location[i][1], location[i][2]),
animation: google.maps.Animation.DROP,
map: map
}
);
google.maps.event.addListener(marker, 'click', (function (marker, i)
{
return function ()
{
infowindow.setContent(location[i][0]);
infowindow.open(map, marker);
}
}
)(marker, i));
}, 1000)
}
Но это нене работает, и другие вещи я не делаюмы пробовали Я посмотрел на множество объяснений, большинство из которых, кажется, имеют смысл, но я могуЯ понял это, и я думаю, что этобольше о цикле for чем что-либо еще.
В качестве примера яМы также пытались инкапсулировать addlistener в setTimeout, думая, что я запусту код addlistener и подожду, пока он заработает. Я предполагаю, что мне нужно найти способ выйти из цикла и подождать, пока вызываемая функция что-то возвратит, но я не уверен, как это сделать.
Если кто-то может просто сказать мне, что я на правильном пути или нет, ябуду признателен