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);
}
}
效果很好,但我的所有标记都在同时掉落。有没有办法在每个标记之间添加延迟?谢谢!
答案 0 :(得分:3)
看看setInterval
。我认为这可以帮助您解决问题。这样你就可以强制标记一次丢弃一个。如果全部丢失,您可以使用clearInterval
来阻止它
这是tutorial
答案 1 :(得分:0)
如果有人在没有从谷歌找到答案的情况下遇到这个问题,这里有一个直接回答这个问题的链接:https://developers.google.com/maps/documentation/javascript/examples/marker-animations-iteration