谷歌地图v3:拖延标记延迟

时间:2011-04-24 23:26:06

标签: 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);

} 

}

效果很好,但我的所有标记都在同时掉落。有没有办法在每个标记之间添加延迟?谢谢!

2 个答案:

答案 0 :(得分:3)

看看setInterval。我认为这可以帮助您解决问题。这样你就可以强制标记一次丢弃一个。如果全部丢失,您可以使用clearInterval来阻止它 这是tutorial

答案 1 :(得分:0)

如果有人在没有从谷歌找到答案的情况下遇到这个问题,这里有一个直接回答这个问题的链接:https://developers.google.com/maps/documentation/javascript/examples/marker-animations-iteration