Google Map Переместить несколько маркеров Javascript - PullRequest
0 голосов
/ 30 марта 2020

Я хочу отслеживать местоположение активных пользователей на карте 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);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...