-1
是否可以從TileImage源加載Tile圖層,並將瓷磚以其最高分辨率(縮放)的圖塊加載到特定範圍,並將這些圖塊顯示爲所有縮放級別。我希望將高分辨率圖像顯示爲另一個Tile層(如Bing或OSM)上方的圖層。openlayers 3 - 加載具有最高縮放級別tile的TileLayer,但在所有縮放級別都顯示
實施例源
var source = new ol.source.TileImage({
projection: 'EPSG:900913',
tileGrid: new ol.tilegrid.TileGrid({
projection: 'EPSG:900913',
extent: projectionExtent,
//extent: ol.proj.transformExtent([-83.7893967, 42.851353, -83.7855987, 42.849371], "EPSG:4326", "EPSG:900913"),
resolutions: resolutions,
tileSize:[pictometryImageSize, pictometryImageSize]
}),
tileUrlFunction: function(tileCoord, pixelRatio, projection){
var zoom = tileCoord[0];
console.log(zoom)
if(zoom == 21){
var tileGrid = this.getTileGrid();
var center = ol.proj.transform(ol.extent.getCenter(tileGrid.getTileCoordExtent(tileCoord)),"EPSG:900913", "EPSG:4326");
return 'www.myrealtileurl;
}
//return undefined;
//return 'https://dummy.com';
},
minZoom: 0,
maxZoom: 21
});
如果我在提供的URL中使用XYZ源,則會看到此行爲。當我嘗試使用tileImage函數對tileImage函數進行同樣的處理時,使用tileUrlFunction函數,當縮小到20時,縮放圖塊21消失。我認爲這是因爲調用了所有縮放級別的函數,強制我返回未定義的級別小於21. –
可能是'ol.source.XYZ'會對你有好處嗎?它擴展了TileImage並具有包括tileUrlFunction在內的所有功能。 –
試過了,沒有區別。我注意到,如果我返回一個錯誤的URL而不是未定義的,瓷磚會在消失之前向後保持1個縮放級別。如果我使用註釋範圍,則tileUrlFunction停止在縮放= 19時被調用。 –