Я добавляю маркер на карте, используя Ol3, вызвав следующую функциюИзменения значения существующего слоя в OpenLayers 3
function addmarker(lat, long, flag) {
iconFeature = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.transform([+long, +lat], 'EPSG:4326', 'EPSG:3857')),
name: 'NULL'
});
iconStyle = new ol.style.Style({
fill: new ol.style.Fill({
color: '#008000'
}),
stroke: new ol.style.Stroke({
color: '#008000',
width: 3
}),
image: new ol.style.Circle({
radius: 6,
fill: new ol.style.Fill({
color: '#008000'
})
})
});
iconFeature.setStyle(iconStyle);
vectorSource[flag] = new ol.source.Vector({
features: [iconFeature]
});
vectorLayer[flag] = new ol.layer.Vector({
source: vectorSource[flag]
});
map.addLayer(vectorLayer[flag]);
}
И изменить положение маркеров, я удаление слоя и добавление нового слоя снова
function changemarker(lat, long, flag) {
vectorSource[flag].clear();
map.removeLayer(vectorLayer[flag]);
addmarker(lat, long, flag);
}
Я сталкиваюсь с проблемами производительности, как я меняюсь маркер, который вызывает метод changemarker каждые 500 миллисекунд. Можно ли изменить слой, не удаляя его, или есть лучший подход, который может быть применен.
Пожалуйста, помогите.
Почему это помечено как C# и WPF? –
Я реализую его с помощью приложения WPF в элементе управления веб-браузером на основе Chromium. Возможно, проблема связана с проблемой производительности, поэтому я отметил ее. – Akansha