Листовка.MovingMarker, установите событие «destionation» для поворота значка

#leaflet

#листовка

Вопрос:

MovingMarker может легко создавать анимацию перемещения значка ptah, она может приостановиться на полпути и продолжить движение.

Но он не предоставил события для статуса слушателя, когда значок перемещается на определенный узел, я могу изменить направление (например, поворот значка вращающегося самолета) значка.

введите описание изображения здесь

Например:

 let node1 = [48.8567, 2.3508];
let node2 = [50.45, 30.523333]
let node3 = [53.45, 31.523333]
var myMovingMarker = L.Marker.movingMarker([node1, node2,node3 ],
    [1000],[1000],[1000]).addTo(map);
myMovingMarker.start();

//MovingMarker did not provide this feature
myMovingMarker.on('location',(e)=>{
    // When the icon reaches a certain node(node1, node2 or node3), change the direction of the icon
})
  

Кто-то сделал аналогичные предложения в вопросах github, но никто не ответил.
Он упомянул, что эта проблема может быть решена косвенно с помощью "_loadLine" функции, но я не знаю, как это работает.

Ответ №1:

Посмотрите на этот запрос на извлечение:https://github.com/ewoken/Leaflet .MovingMarker/ pull /14

Он добавил событие lineIndexChanged :

 if (this._currentIndex !== index) {
            this.fire('lineIndexChanged', { lineIndex: index });
        }
  

Комментарии:

1. this.fire является ли функция прослушивания? Что такое this , как я могу это использовать?

2. посмотрите на запрос на извлечение. Эти строки кода добавляются в _loadLine функцию и могут быть использованы с myMovingMarker.on('lineIndexChanged', (e)=> ...