谷歌地图。以一定间隔放置标记

时间:2013-02-28 19:35:00

标签: javascript google-maps google-maps-markers settimeout

我一直试图让代码工作几个小时。在我看来,一切都很好,但它不起作用。标记会同时显示出来。

如果你能指出我的错误,我真的很感激。提前谢谢!

function dropMarker(data){
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(lat, lng),
        map: map,
        title: data.name,
        animation: google.maps.Animation.DROP
    });
    markers.push(marker);
    google.maps.event.addListener(marker, 'click', function() {
        showIW(this);
      });
}


function placeAllMarkers(data){
    clearMarkers();
    for(var i=0;i<data.length;i++){
        setTimeout(dropMarker(data[i]),100*i);
    }
}

1 个答案:

答案 0 :(得分:1)

你必须将一个函数传递给setTimeout而不是调用它中的函数。尝试

function placeAllMarkers(data){
    clearMarkers();
    for(var i=0;i<data.length;i++){
        setTimeout((function(i){return function(){dropMarker(data[i])};})(i),100*i);
    }
}