Я хочу отслеживать местоположение активных пользователей на карте Google, но, столкнувшись с некоторыми проблемами, я могу установить маркеры на карте Google, но когда я пытаюсь переместить все маркеры на oop, чтобы переместить их. последний объявленный маркер. Возможно, это проблема с setTimeOut. Я много пытался, но не смог выяснить проблему.
My Markers Array Массив, который перебирает все маркеры и вызывает нужную функцию для движения.
<?php
for($markerI=0; $markerI<$currActive; $markerI++)
{
?>
markerToMove = markers[<?php echo $markerI; ?>];
positionOfMarker[0] = <?php echo $currLat[$markerI]; ?>;
positionOfMarker[1] = <?php echo $currLng[$markerI]; ?>;
var result = [32.651158, 74.070952];
doSetTimeout(result);
<?php
}
?>
var numDeltas = 100;
var delay = 100; //milliseconds
var i = 0;
var deltaLat;
var deltaLng;
function doSetTimeout(result) {
setTimeout(function() { transition(result) }, delay);
}
function transition(result){
i = 0;
deltaLat = (result[0] - positionOfMarker[0])/numDeltas;
deltaLng = (result[1] - positionOfMarker[1])/numDeltas;
moveMarker();
}
function moveMarker(){
positionOfMarker[0] += deltaLat;
positionOfMarker[1] += deltaLng;
var latlng = new google.maps.LatLng(positionOfMarker[0], positionOfMarker[1]);
markerToMove.setTitle("Latitude:"+positionOfMarker[0]+" | Longitude:"+positionOfMarker[1]);
markerToMove.setPosition(latlng);
if(i!=numDeltas){
i++;
setTimeout(moveMarker, delay);
}
}