2016-11-27 2 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 пытался поставить Тайм-аут, как этот

setTimeout(3000) 

только после того, установив position.But это не меняет результата. Что я делаю неправильно?

ответ

0

Возможно, вам нужно что-то вроде Google Maps' 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); 
} 

не проверял, но он должен работать.

Смежные вопросы