停止在 OpenLayers 3 tileloadstart 事件中加载图块
Stop loading a tile in OpenLayers 3 tileloadstart event
我在 OpenLayers 3(版本 3.13.1)中有一个使用 XYZ 源的 Tile 层,url 属性 设置为 http://my.server/map/z{z}/row{y}/{z}_{x}_{y}.jpg
。在我的服务器上,文件夹 z2 到 z8 中的平铺图像可用。但是 OpenLayers 还尝试从不存在的文件夹 z1 中获取图像。地图显示正确,但我的浏览器控制台显示找不到文件错误。有没有办法停止在 tileloadstart 事件中加载明显不存在的图块?我的代码如下:
function createTileLayer() {
var xyzSource = new ol.source.XYZ({
url: 'http://my.server/map/z{z}/row{y}/{z}_{x}_{y}.jpg'
});
xyzSource.on('tileloadstart', function(evt) {
if (evt.tile.tileCoord[0] == 1) {
// Stop loading the Tile ?!?!
}
});
return new ol.layer.Tile({
extent: _maxExtent,
preload: 1,
source: xyzSource
});
}
非常感谢任何帮助。
解决方案是正确设置源,这样它就不会尝试获取您不可用的缩放级别的图像:
var xyzSource = new ol.source.XYZ({
url: 'http://my.server/map/z{z}/row{y}/{z}_{x}_{y}.jpg',
tileGrid: ol.tilegrid.createXYZ({
minZoom: 2,
maxZoom: 8
})
});
我在 OpenLayers 3(版本 3.13.1)中有一个使用 XYZ 源的 Tile 层,url 属性 设置为 http://my.server/map/z{z}/row{y}/{z}_{x}_{y}.jpg
。在我的服务器上,文件夹 z2 到 z8 中的平铺图像可用。但是 OpenLayers 还尝试从不存在的文件夹 z1 中获取图像。地图显示正确,但我的浏览器控制台显示找不到文件错误。有没有办法停止在 tileloadstart 事件中加载明显不存在的图块?我的代码如下:
function createTileLayer() {
var xyzSource = new ol.source.XYZ({
url: 'http://my.server/map/z{z}/row{y}/{z}_{x}_{y}.jpg'
});
xyzSource.on('tileloadstart', function(evt) {
if (evt.tile.tileCoord[0] == 1) {
// Stop loading the Tile ?!?!
}
});
return new ol.layer.Tile({
extent: _maxExtent,
preload: 1,
source: xyzSource
});
}
非常感谢任何帮助。
解决方案是正确设置源,这样它就不会尝试获取您不可用的缩放级别的图像:
var xyzSource = new ol.source.XYZ({
url: 'http://my.server/map/z{z}/row{y}/{z}_{x}_{y}.jpg',
tileGrid: ol.tilegrid.createXYZ({
minZoom: 2,
maxZoom: 8
})
});