2017-02-03 10 views
1

В настоящее время я работаю с Leaflet 1.0.3, и вот моя проблема. У меня есть много позиций GPS, которые отображаются на моей карте.Проблема с выдачей полилинии лифтов

У меня есть for цикл, в котором я создаю круг маркер на каждой позиции:

var position = new L.latLng(lat, lng); 
coordinates.push(position); 

L.circle([lat, lng], 50, { 
    color: 'red', 
    fillColor: '#f03', 
    fillOpacity: 0.5 
    }).addTo(map).bindPopup(date.replace('T',' ')); 

С тысячами позиций, никаких проблем производительности, это не быстро. Но когда я использую полилинии в одну петлю между два кругом, как это:

var polyline = new L.Polyline(coordinates, { 
    color: 'red', 
    weight: 3, 
    opacity: 0.5, 
    smoothFactor: 5 
    }); 
polyline.addTo(map); 

падением производительности, и это очень медленно. Основная проблема заключается в том, что иногда между положением времени нет позиции, поэтому мне нужно нарисовать полилинию, чтобы иметь что-то более визуальное и не открывать глаза.

Есть ли способ решить эту проблему? Благодаря !

ответ

1

Рисование полилинии не должно находиться в цикле, но после цикла. Как я понимаю этот вопрос, вы снова и снова рисуете полилинию, пока она расширяется.

Если вы хотите этого в цикле, вы должны провести только между двумя последними позициями (массива).

+0

Спасибо за ваш быстрый ответ, я не знаю, почему я этого не делал раньше ... Имейте приятный день и еще раз спасибо! – Baptiste