2016-11-27 12 views
0

配列に格納された位置にマーカーを移動しようとしています。位置の配列を指定してマーカーを移動するにはどうすればよいですか?

  let vehicule_assigne_geo = { lat: 45.495252, lng: -73.605798 }; 
      var image = "img/Sedan-52.png"; 
      let marker = new google.maps.Marker({ 
         position: vehicule_assigne_geo, 
         map: self.map, 
         draggable: false, 
         icon: image, 
         title: 'Your taxi' 
      }); 
      //self.tabmarkers is my array of positions 
      //positions have this format: var LatLng = { lat:steps[c].lat_lngs[i].lat() , lng: steps[c].lat_lngs[i].lng() }; 
      for(var i=0;i<self.tabmarkers.length;i++){ 
       marker.setPosition(self.tabmarkers[i])  
      } 

私はarray.Iの最後の位置にマーカーを見ることができるだけで、これは結果を変更しないposition.Butを設定した後に、この

setTimeout(3000) 

のようなOタイムアウトを入れてみました。 私は何が間違っていますか?

答えて

0

おそらくあなたは、GoogleマップのMarker animations with setTimeout()例のようなものが必要になります。

トリックは、タイムアウト値を乗算することです。または、setInterval()メソッドを使用することもできます。 あなたの全体のコードを与えていなかったとして、あなたはこのようなものが必要になります。

for(var i=0; i < self.tabmarkers.length; i++){ 
    moveMarkerWithTimeout(self.tabmarkers[i], i * 1000);   
}; 
function moveMarkerWithTimeout(position, timeout){ 
    window.setTimeout(function() { 
     marker.setPosition(position); 
    }, timeout); 
} 

がテストしていませんが、それは動作するはずですが。

関連する問題