2011-04-24 93 views
1
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); 

} 

} 

工程很好,但我所有的标记同时下降。有没有办法在每个标记之间添加延迟?谢谢!谷歌地图v3:拖放标记与延迟

回答

3

看看setInterval。我认为这可以帮助你解决你的问题。这样你可以强制标记一次放一个。当所有都下降后,你可以使用clearInterval来停止它。
这里是一个tutorial