Openlayers 3 OL3自定义项目/分辨率和最小缩放/最大缩放

Openlayers 3 OL3自定义项目/分辨率和最小缩放/最大缩放,openlayers-3,epsg,Openlayers 3,Epsg,除了在非webmercator地图中使用分辨率外,是否还可以使用ol.view minZoom和maxZomm?minZoom和maxZoom真的被忽略了吗?还是会引起麻烦 我有我无法理解的行为。这是我的问题: 我使用WMTS服务(EPSG:2154)作为ol3映射(EPSG:2154)中的基础映射。 我使用以下设置视图分辨率和ol.tilegrid.WMTS分辨率: var resolutions = [305.748084412797, 152.87417449832975, 76.4369

除了在非webmercator地图中使用分辨率外,是否还可以使用ol.view minZoom和maxZomm?minZoom和maxZoom真的被忽略了吗?还是会引起麻烦

我有我无法理解的行为。这是我的问题:

我使用WMTS服务(EPSG:2154)作为ol3映射(EPSG:2154)中的基础映射。 我使用以下设置视图分辨率和ol.tilegrid.WMTS分辨率:

var resolutions = [305.748084412797, 152.87417449832975, 76.43695495723364, 38.21860977054807, 19.109304885274035, 9.554652442637018, 4.777326221318509, 2.3886631106592544, 1.1943315553296272, 0.5971657776648136, 0.2984505969011562, 0.13229193125051253 ];
并在ol.tilegrid.WMTS中使用matrixids

var matrixids= [0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ,10 ,11];
地图正常12个缩放级别可用。底图矩阵ID与地图缩放级别一致

但是为了限制缩放级别,除了“分辨率”之外,我还在视图选项中设置了“minZoom”和“maxZoom”

如果minZoom=0和maxZoom=8,我仍然可以缩放12个级别,并且贴图缩放与调用的basemap tilematrix一致

如果minZoom=4和maxZoom=9,我可以放大12个级别。。。但是

  • 地图缩放级别从4开始,上升到15(初始缩放级别的偏移=ol.View中设置的最小缩放)
  • basemap tilematrix现在与map zoom不一致:在map zoom 4中,它请求basemap zoom级别0(对basemap调用不应用移位)

谢谢

由于minZoom和maxZoom会对分辨率产生问题,我建议您将自定义行为添加到事件“更改:分辨率”中,如下所示:

map.getView().on('change:resolution', function(e) {
    // Set Zoom
});

我已经编辑了您的

,因为minZoom和maxZoom会对分辨率产生问题,我建议您将自定义行为添加到事件“更改:分辨率”中,如下所示:

map.getView().on('change:resolution', function(e) {
    // Set Zoom
});

我已经编辑了你的

如果你发布一个活生生的示例(JSFIDLE或一个工作代码片段就好了),这是一个提琴,只需取消minzoom maxzoom的注释即可查看差异。仍然不完美,但您可以在('change:resolution',function(e){})上向事件
map.getView().on添加自定义行为我已经编辑了你的JSFIDLE:是的,我认为这是我应该尝试的解决方法。根据OL3文档设置,ol.view分辨率应使最小缩放和最大缩放忽略。。。不我想知道我是否应该把这记为bug?伊卡洛斯:你能把你的评论变成答案吗?由于我将使用此解决方法,我可以将其作为我文章的答案。如果您发布一个实例(JSFIDLE或工作代码片段会更好),这将非常有用。这是一个提琴,只需取消对minzoom maxzoom的注释即可查看差异。仍然不完美,但您可以在('change:resolution',function(e){})上向事件
map.getView().on添加自定义行为我已经编辑了你的JSFIDLE:是的,我认为这是我应该尝试的解决方法。根据OL3文档设置,ol.view分辨率应使最小缩放和最大缩放忽略。。。不我想知道我是否应该把这记为bug?伊卡洛斯:你能把你的评论变成答案吗?由于我将使用此解决方法,我可以将其作为我帖子的答案。缩放按钮和鼠标滚轮缩放在地图中心上有不同的行为,因此为了强制最大和最小缩放“更改:分辨率”,我需要让地图中心重新设置。如果没有,则平移。缩放按钮和鼠标滚轮缩放对地图中心有不同的行为,因此为了强制在“更改:分辨率”下进行最大和最小缩放,我需要让地图中心et重新设置。如果不是的话,它就是平底锅。