我有一个WMS服务器,可以渲染某些地理空间数据。该图层的边界框与数据紧密相关,但是服务器在此边界框之外绘制了一些像素,当Openlayers将返回的图像裁剪到边界框时,这些像素会丢失。
我有一个解决方法,即将功能添加到图层:
layer.updateExtent = function (resolution) {
var extent = ol.extent.buffer(this.bounding_box, resolution * this.buffer);
this.setExtent(extent);
};
和一个事件处理程序:
view.on('change', function() {
var resolution = view.getResolution();
var layers = map.getLayers();
for (var i = 0; i < layers.getLength(); ++i) {
var layer = layers.item(i);
if (layer.updateExtent) {
layer.updateExtent(resolution);
}
}
});
这将更新图层范围以添加必需的像素缓冲区。
ol.layer.Tile中有任何功能吗?