Openlayers 3 OpenLayers 3、静态平铺和XYZ坐标

Openlayers 3 OpenLayers 3、静态平铺和XYZ坐标,openlayers-3,Openlayers 3,目标是能够放大到高分辨率图片(11520x11520),我已经分割成256x256个正方形。我拍摄了这张大图,并将其大小调整为80%、60%、40%、20%和8.89%。然后,对于从100%到8.89%的每个图像,我将它们分割。制作一个交互式视频游戏地图,如下所示: 我试过这个: var map = new ol.Map({ target: 'ark_map', layers: [ new ol.layer.Tile({ source: new o

目标是能够放大到高分辨率图片(11520x11520),我已经分割成256x256个正方形。我拍摄了这张大图,并将其大小调整为80%、60%、40%、20%和8.89%。然后,对于从100%到8.89%的每个图像,我将它们分割。制作一个交互式视频游戏地图,如下所示:

我试过这个:

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(像素)结合在一起从未出现过

这是你的电话号码


如何基于像素系统将静态平铺和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以获取完整代码:。

您看到了吗?我添加了JS fiddle以向您展示它在我这方面的功能。顺便问一下,您使用了什么来分割图像?我使用了TileMage图像分割器。()你能解释一下什么元素很奇怪,以及你是如何计算出你制作的分辨率阵列的吗?有时似乎有点小毛病,可能是缩放必须遵循我没有正确遵循的某些准则吗?通常,平铺网格从缩放级别为零的一个平铺开始,然后总是将一个平铺分成四个平铺,用于下一个缩放级别。幸运的是,OpenLayers支持像您这样的任意网格配置。事实上,我通过将尝试和错误与您提供的信息相结合来计算出您的分辨率。不确定您所说的“glitchy”是什么意思,但要获得更清晰的图像,您需要具有与源文件相同的视图分辨率。这可以通过将相同的分辨率数组传递给视图配置来轻松实现。缺点是,除非为视图添加更多分辨率,否则您将无法查看整个世界。有关更新的小提琴,请参阅。