#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)=> ...