2016-11-27 75 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的最後一個位置看到標記試圖把O超時這樣

setTimeout(3000) 

只需設置position.But這並沒有改變後的結果。 我在做什麼錯?

回答

0

也許你需要像谷歌地圖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); 
} 

沒有測試過,但它應該工作。

相關問題