Angular: убрать ломаную Leaflet между 2 маркерами - PullRequest
0 голосов
/ 09 января 2020

Пока я использую interval для обновления данных json координаты, у меня есть путь соединения "между последней и первой точкой, пересеченной исходным путем данных json.

enter image description here

Так как же я могу удалить «путь подключения» между маркером последней и первой точки?

Код:

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

    protected points: { lat: number, lng: number }[] = [];

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

    }

    ionViewDidEnter() {
        this.getmarker()
    }


    async getmarker() {

        this.zone.runTask(()=>{
            setInterval(()=>{
                this.http.get('xxxxxxxxxxxxxxxxxx'', {}, {})
                .then(data => {
                                                           -------------Polyline path ---------
            for (let datas of JSON.parse(data.data)['trail']) {

            this.points.push({ lat: datas.lat, lng: datas.lng })

            let poly = new L.Polyline([this.points], { color: 'red', weight: 3}).addTo(this.map);


            }

             })
            },5000)
        })

    }

}

1 Ответ

1 голос
/ 09 января 2020

Пути работают, как вы хотите, но в ваших данных есть небольшая проблема. Посмотрите на мою фотографию, я думаю, что у вас есть первый пункт два раза в ваших данных. Просто удалите избыточность с помощью вспомогательной функции. enter image description here И я нахожу другую проблему, у вас есть функция интервала, и вы не удаляете старые координаты, и когда вы получаете новые координаты, эти точки создают проблему.

...