как установить маркер по одному в гугл карте api v3? - PullRequest
1 голос
/ 07 июля 2011

Я делаю карту Google, которая будет считывать набор координат и размещать маркер на карте один за другим.

Ниже моя идея:

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 Ответ

1 голос
/ 07 июля 2011

Вам необходимо вернуться после установки первого маркера.Вам также нужен параметр 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);
...