Angular: удалить точки прямых линий, используя карту Leaflet - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь разработать трекер полетов, используя API карты Leaflet. Каждый раз, когда появляются какие-либо новые координаты точки расположения самолета, чтобы отображать их на карте, у меня есть «связь» между последней и первой точкой, поскольку прямые линии перекрываются с существующей исходной ломаной траектории полета из-за использования функции интервала для проверки новой координаты положения точки. Мой вопрос, как я могу удалить прямые линии? ,

пример того, что у меня есть: ссылка

Мой код

export class MapTrackBeforPage implements OnInit {
    map: Map;
    poly:L.Polyline


    constructor(
        private http: HTTP,
       public zone : NgZone) {

    }


    ionViewDidEnter() {
        this.getmarker().then(() => {
            this.zone.runOutsideAngular(() => {
                interval(15000).subscribe(() => {
                  ---- Reload DATA
                    this.getmarker()
                })
            })
        })

        // In setView add latLng and zoom
        this.map = new Map('Map_id', { attributionControl: false }).setView([33, 44], 6);
        this.sourceFlightPath.addTo(this.map)
        return tileLayer('https://{s}.tile.thunderforest.com/transport-dark/{z}/{x}/{y}.png?apikey=', {
        }).addTo(this.map);
    }

    ---- GETTING DATA --------
    async getmarker() {
        this.http.get('xxxxxxxxxxxxxxxxx', {}, {})
            .then(data => {

                this.AddPath(getdata)

            })
    }

------ PATH OF AIRCRAFT -----
    AddPath(path) {
        // Flight path

        for (let datas of path['trail']) {

         new L.Polyline([datas.lat,datas.lng], { color: 'red', weight: 3 }).addTo(this.map);

        }
    }
...