1

我正在做一个谷歌地图,它将读取一组坐标并将标记一个一个地放在地图上。

以下是我的想法:

function A{
   for loop( 
      set marker
      call setTimeout('A',2seconds)
   )    
}

我的想法是设置一个标记并使用 setTimeout 等待 2 秒,然后设置下一个标记。

但是,它不起作用。它同时显示所有标记并重复以更新所有标记。

我怎样才能实现我的目标?谢谢你的帮助!!!!!!!!!!!!!!!

这是我的代码:

function marker(){
    var marker;
    var i=0;

    while(i<locations.length){
        marker = new google.maps.Marker({
            position: new google.maps.LatLng(locations[i][1], locations[i][2]),
            animation: google.maps.Animation.DROP,
            map: map
            });
        i=i+1;
        var t=setTimeout("marker()",2000);
    }
}
marker();
4

1 回答 1

1

您需要在设置第一个标记后返回。您还需要 A 的参数来指定要显示的标记。

function marker(i){
    if (i > locations.length) return;

    var marker;

    marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
        animation: google.maps.Animation.DROP,
        map: map
        });

    var t=setTimeout("marker("+(i+1)+")",2000);
}
marker(0);
于 2011-07-07T03:28:53.440 回答