我正在尝试将标记移动到存储在数组中的位置。
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])
}
我可以在数组的最后位置看到标记。我试图像这样把o超时
setTimeout(3000)
设置位置后。但这不会改变结果。 我做错了什么?
答案 0 :(得分: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);
}
Haven未经测试但应该可以使用。