如何在谷歌地图api v3中逐一设置标记?

时间:2011-07-07 03:21:18

标签: google-maps-api-3 settimeout marker

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

以下是我的想法:

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();

1 个答案:

答案 0 :(得分: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);