如何防止ol.layer上的tile缓存.Tile on Live(WMS TileArcGISRest等)

时间:2016-10-10 18:13:10

标签: openlayers-3

我试过这个



layer_info.ol_layer.getSource().setTileLoadFunction(function (img, src) {
  img.getImage().src = src + "&seq=" + (new Date()).getTime();
});



 但它只会在第一次调用时更改params,所有后续调用只使用缓存的tile。

奇怪的是,在像Mapguide这样的图像源上使用它时,它可以很好地工作并且每次都会请求一个新的图像。



opLayer.getSource().setImageLoadFunction(function(img, src){
  img.getImage().src = src + "&seq=" + (new Date()).getTime();
});



 编辑:这是推入之前的完整图层。

layer_info.ol_layer = new ol.layer.Tile({
opacity: 1 - (conf_layer.transparency / 100),
style: layer_info.display_name,
source: new ol.source.TileWMS({
    attributions: [new ol.Attribution({html: conf_layer.attribution})],
    //cacheSize: 0,
    crossOrigin: (conf_layer.crossOrigin != 'null') ?  conf_layer.crossOrigin :  null,
    url: conf_layer.url,
    projection: Model.Projection,
    params: {'LAYERS': conf_layer.layers}
})

}); 我发现将cacheSize设置为零会使其忽略缓存,但这仅适用于未重新投影的图层。我需要重新投影此图层,并在缩放或平移时始终请求新图块。 (背景数据有点活,在我的arcgis图层中它是实时的)

0 个答案:

没有答案