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 и подожду, пока он заработает. Я предполагаю, что мне нужно найти способ выйти из цикла и подождать, пока вызываемая функция что-то возвратит, но я не уверен, как это сделать.

Если кто-то может просто сказать мне, что я на правильном пути или нет, ябуду признателен

Ответы на вопрос(1)

Ваш ответ на вопрос