OpenLayers 3,静态图块和 XYZ 坐标
OpenLayers 3, static tiles and XYZ coordinates
目标是能够放大到我已拆分为 256x256 正方形的高分辨率图片 (11520x11520)。我拍摄了大图并将其调整为 80%、60%、40%、20% 和 8.89%。然后,对于从 100% 到 8.89% 的每个图像,我将它们分开。就是制作这样的互动视频游戏地图:http://www.ark-survival.net/en/dynamic-livemap/
我试过这个:
var map = new ol.Map({
target: 'ark_map',
layers: [
new ol.layer.Tile({
source: new ol.source.XYZ({
url: 'images/map/{z}/map_{x}_{y}.png',
tileSize: 256,
maxZoom: 5
})
})
],
view: new ol.View({
center: [50, 50],
zoom: 5,
minZoom: 0
})
});
结果:我只看到使用的任何缩放的左上角。我看过很多例子和很多问题,但从未出现过结合静态图块和 XYZ(像素)。
这里是 JS Fiddle.
如何基于像素系统组合静态图块和 XYZ 坐标?
您的磁贴布局非常奇怪。你所描述的映射到这组决议:
var resolutions = [
45/4,
45/4/2*0.889,
45/4/4*0.889,
45/4/6*0.889,
45/4/8*0.889
];
有了它,您可以配置 ol.tilegrid.TileGrid
:
new ol.tilegrid.TileGrid({
origin: [0, 11520],
resolutions: resolutions
})
完整代码见更新后的 fiddle:https://jsfiddle.net/6moqu7q8/4/。
目标是能够放大到我已拆分为 256x256 正方形的高分辨率图片 (11520x11520)。我拍摄了大图并将其调整为 80%、60%、40%、20% 和 8.89%。然后,对于从 100% 到 8.89% 的每个图像,我将它们分开。就是制作这样的互动视频游戏地图:http://www.ark-survival.net/en/dynamic-livemap/
我试过这个:
var map = new ol.Map({
target: 'ark_map',
layers: [
new ol.layer.Tile({
source: new ol.source.XYZ({
url: 'images/map/{z}/map_{x}_{y}.png',
tileSize: 256,
maxZoom: 5
})
})
],
view: new ol.View({
center: [50, 50],
zoom: 5,
minZoom: 0
})
});
结果:我只看到使用的任何缩放的左上角。我看过很多例子和很多问题,但从未出现过结合静态图块和 XYZ(像素)。
这里是 JS Fiddle.
如何基于像素系统组合静态图块和 XYZ 坐标?
您的磁贴布局非常奇怪。你所描述的映射到这组决议:
var resolutions = [
45/4,
45/4/2*0.889,
45/4/4*0.889,
45/4/6*0.889,
45/4/8*0.889
];
有了它,您可以配置 ol.tilegrid.TileGrid
:
new ol.tilegrid.TileGrid({
origin: [0, 11520],
resolutions: resolutions
})
完整代码见更新后的 fiddle:https://jsfiddle.net/6moqu7q8/4/。