2011-07-07 7 views
1

私は座標のセットを読み、地図上にマーカーを一つずつ置くgoogleマップをやっています。Googleマップapi v3でマーカーを1つずつ設定する方法は?

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

私の考えは、マーカーを設定し、2秒待ってから次のマーカーを設定するのsetTimeoutを使用することです:

以下は私の考えです。

ただし、動作しません。すべてのマーカーを同時に表示し、すべてのマーカーを更新するために繰り返します。

どのように目標を達成できますか? あなたの助けをありがとう!!!!!!!!!!!!!!!あなたが最初のマーカーを設定した後に返す必要が

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

は、ここに私のコードです。表示するマーカーを指定する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); 
+0

私はプログラムに何を追加する必要がありますか教えてください。どこに戻りますか? と私は本当に "どのマーカーを表示するかを指定するパラメータが必要です"とはっきりしていません。 – EdwardCPF

+0

あなたのコードの更新版を見てください(私はそれをテストしていませんが、これはうまくいくはずです) –

+0

マイケルに感謝します。 構文の意味は何ですか?marker( "+(i + 1)+")? – EdwardCPF