如何在较低缩放级别拼贴完全不可用时如何在较低缩放下从较高缩放级别(较低分辨率)加载拼贴?这可能吗 ?例如:我有用于缩放8和更高的拼贴,并需要缩放6上的地图6,7从缩放8加载拼贴,并在浏览器中缩放它。如何强制加载拼贴以降低分辨率
var countedResoultions = [650251.6299617786, 325125.8149808893, 162562.90749044466, 81281.45374522233, 40640.726872611165, 20320.363436305583, 10160.181718152791, 5080.090859076396, 2540.045429538198, 1270.022714769099, 635.0113573845495, 317.5056786922747];
var customExtent = [-491187.1897463986, -53831.96192823257, 890456.9786693857, 877455.310353267];
var layers = [new ol.layer.Tile({
source: new ol.source.XYZ({
projection: 'EPSG:2180',
tileGrid: new ol.tilegrid.TileGrid({
origin: [1.72703025967, 781405.7611248483],
extent: customExtent,
resolutions: countedResolutions,
}),
tileUrlFunction: function(coord){
console.log('gridZoom' coord[0]);
// not standard OSM url
// ...
}
})
})];
var map = new ol.Map({
layers: layers,
target: 'map',
view: new ol.View({
center: ol.proj.transform([20.92,52.23], 'EPSG:4326', 'EPSG:3857'),
zoom: 6,
maxZoom: 14
})
});
有什么奇怪的我,在那ol.View
变焦(我已经注册了变化监听器)是不一样的,在tileUrlFunction
变焦值(coord[0]
)。对于viewZoom = 6 - > gridZoom = 9,viewZoom = 7 - > gridZoom = 10,viewZoom = 8 - > gridZoom = 11。
我有更复杂的情况,因为我有在数'resolutions'定制'ol.source.XYZ'源'ol.tilegrid.TileGrid'选项。它可以正常工作,但是当变焦低于某个值时,没有图块可以获得,并且需要该图使用较高缩放比例的图块(获得更多图块并缩小比例)。 – marioosh
您应该使用额外的分辨率来配置您的地图视图,并保留您在tilegrid中的视图。 Ol3应该进行瓷砖的客户端缩放。我过去也是这样做的,并且工作正常。如果您提供您的代码,我可能会帮助您 – pavlos
我更新了代码为 – marioosh