У меня есть карта ol 3.10.1, целью которой является динамическое изменение свойств слоя. В пути, чтобы добраться туда, я использую функцию source.clear(). Странно то, что source.clear() действительно очищает функции от уровня на текущем уровне масштабирования, но при масштабировании или отключении функций все еще есть. Я использую функцию source.clear() правильно? Ниже приведен фрагмент кода, который я использую для тестирования.OpenLayers-3 - Какое правильное использование source.clear()
var image = new ol.style.Circle({
radius: 5,
fill: null,
stroke: new ol.style.Stroke({color: 'red', width: 1})
});
var styles = {
'Point': [new ol.style.Style({
image: image
})]};
var styleFunction = function(feature, resolution) {
return styles[feature.getGeometry().getType()];
};
var CITYClusterSource = new ol.source.Cluster({
source: new ol.source.Vector({
url: 'world_cities.json',
format: new ol.format.GeoJSON(),
projection: 'EPSG:3857'
}),
})
var CITYClusterLayer = new ol.layer.Vector({
source: CITYClusterSource,
style: styleFunction
});
setTimeout(function() { CITYClusterSource.clear(); }, 5000);
var map = new ol.Map({
target: 'map',
renderer: 'canvas',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM(),
}),
CITYClusterLayer
],
view: new ol.View({
center: ol.proj.transform([15.0, 45.0], 'EPSG:4326', 'EPSG:3857'),
zoom:3
})
});
Я использую функцию setTimout(), чтобы иметь характеристики, видимые в течение нескольких секунд, прежде чем они должны быть очищены.
Прошу совета.
Я внедрил ваше решение. Тем не менее, функции все еще видны при масштабировании и/или выходе. – stenhh
Красивый мир работы. Спас мой день. Спасибо – stenhh
К вашим услугам! –