google maps v3: удаление маркеров с задержкой

#google-maps-api-3

#google-maps-api-3

Вопрос:

 var markers = new Array();

$(function () { 

$.ajax({
    url: "json.php",
    data: {get: 'value'},
    success: function(data){


        $.each(data, function(i, item) {
           markers.push([data[i].filename, data[i].date, data[i].lat,   data[i].long]);
        });

        var myOptions = { disableDefaultUI: true, mapTypeId: google.maps.MapTypeId.ROADMAP }
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

        setMarkers(map, markers);

     }
});

$("a.imglink").fancybox({
    'speedIn'       :   600, 
    'speedOut'      :   200
});

});

function setMarkers(map, markers) {

var bounds = new google.maps.LatLngBounds();

for (var i = 0; i < markers.length; i  ) { 

    var siteLatLng = new google.maps.LatLng(markers[i][2], markers[i][3]);

    var marker = new google.maps.Marker({

        position: siteLatLng,

        map: map,

        animation: google.maps.Animation.DROP,

        title: markers[i][1],

        html: markers[i][0]

    }); 


    google.maps.event.addListener(marker, "click", function () {

        $('.imglink').attr('href', 'img/'   this.html);
        $('.imglink').click();

    });


    bounds.extend(siteLatLng);

    map.fitBounds(bounds);

} 

}
  

Работает отлично, но все мои маркеры удаляются одновременно. Есть ли какой-либо способ добавить задержку между каждым маркером? Спасибо!

Ответ №1:

Взгляните на setInterval . Я думаю, это могло бы помочь вам с вашей проблемой. Таким образом, вы заставляете маркеры удаляться по одному за раз. Когда все будет удалено, вы можете использовать clearInterval , чтобы остановить это.
Вот руководство

Ответ №2:

На случай, если кто-нибудь столкнется с этим вопросом, не найдя ответа в Google, вот ссылка на Google, отвечающий на этот вопрос напрямую: https://developers.google.com/maps/documentation/javascript/examples/marker-animations-iteration