Openlayers 3 在Openlayers贴图上约束平移

Openlayers 3 在Openlayers贴图上约束平移,openlayers-3,panning,Openlayers 3,Panning,限制Openlayers贴图上的平移不会考虑旋转。因此,旋转贴图时,约束不会旋转 这两个方块显示实际范围和所需范围: 我在视图中定义了“范围约束”选项,如下所示: var baseView = new ol.View({ center: [241160, 5069100], zoom: 11, extent: [226838, 5084100, 255700, 5055200] }); 下面是测试此行为的工作示例 如何实现约束平移并考虑旋转?不确定我是否理解您的问题,

限制Openlayers贴图上的平移不会考虑旋转。因此,旋转贴图时,约束不会旋转

这两个方块显示实际范围和所需范围:

我在视图中定义了“范围约束”选项,如下所示:

var baseView = new ol.View({
    center: [241160, 5069100],
    zoom: 11,
    extent: [226838, 5084100, 255700, 5055200]
});
下面是测试此行为的工作示例


如何实现约束平移并考虑旋转?

不确定我是否理解您的问题,如果您在OSM层中设置maxExtent,它是否会被限制在该区域?这就是你想要的吗

new ol.layer.Tile({
        source: new ol.source.OSM(),
        extent: maxExtent
    })

在层中定义maxExtent只会限制渲染(“该层将不会在该范围外渲染。”)-但我想限制map.Does“map.setOptions({restrictedExtent:maxExtent});”适合你吗?这对OL2是正确的,在OL3中,它是通过视图中的“范围”选项完成的。但问题是,范围不尊重旋转,正如您在链接的JSFIDLE中所看到的那样。您的JSFIDLE似乎证明了旋转地图确实会旋转受约束的区域,即,无论屏幕上的旋转是什么,区域的角点都位于相同的地理点上。不确定为什么会出现其他行为?没错,受约束区域与视图具有相同的旋转。问题是,我需要将平移限制在与用户看到地图的角度相对应的区域,就像我在地图上绘制的第二个(水平)正方形。我以为这是标准的行为。。。