У меня есть сервер 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, которая уже делает это?