我有一些要显示为图像层的png(透明雷达图像)。这样做没问题........我加载了一个图像,然后删除了它,加载了一个新的图像,然后将其删除等等。 但是通过这种方式,过渡不会像我希望的那样平滑(更像是闪烁的图像)。如何使这些平滑?
var center = ol.proj.transform([5.2, 52.443], 'EPSG:4326', 'EPSG:3857');
var map = new ol.Map({
target: 'map',
controls: ol.control.defaults({
attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
collapsible: true
})
}),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM({
url: 'http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'
})
})
],
view: new ol.View({
center: center,
zoom: 6
})
});
var url = url of transparent radarimage (http://......)
var imageBounds = [0.813 , 50.520 , 10.996, 54.295 ];
var imageLayer = new ol.layer.Image({
opacity: opacity,
source: new ol.source.ImageStatic({
url: url,
imageSize: [1315, 799],
projection: map.getView().getProjection(),
imageExtent: ol.extent.applyTransform(imageBounds, ol.proj.getTransform("EPSG:4326", "EPSG:3857"))
})
});
map.addLayer(imageLayer); // to add imageLayer to the map.
map.removeLayer(imageLayer); // to remove imageLayer from the map.
编辑2:根据建议(thx!),尝试使用以下命令更新源:
s = new ol.source.Image({
source: new ol.source.ImageStatic({
url: url
})
});
l=map.getLayers().getArray()[1]; // 1 = Radar layer
l.setSource(s);
图层未刷新....