我正在使用OpenLayers 5进行项目开发,但在这里没有找到相关信息。过去,OpenLayers有一个
restrictExtent
函数,但现在似乎已经消失了。是否有一种方法可以限制或禁止用户垂直平移地图,以使其无法将其拖出屏幕?
我尝试在包含地图的图层和视图上使用maxExtent
,并且通过在视图上这样做,我已经能够限制可见内容。然而,我还没有能够限制平移。希望您能提供帮助。
map.js
componentDidMount() {
BASE_VIEW.setMinZoom(this.getMinZoom());
this.resize();
this.map = new Map({
controls: defaultControls().extend([MOUSE_POSITION_CONTROL]),
layers: [BASE_LAYER],
target: 'map',
view: BASE_VIEW
});
}
map-constants.js
const baseView = new View({
center: fromLonLat(conus, projection),
projection: projection,
zoom: 4,
extent: [Number.NEGATIVE_INFINITY, -43, Number.POSITIVE_INFINITY, 43]
});
this
是局部变量。有多种方法可以覆盖它,例如将function resChange() { ....}
替换为resChange = function() { .... }.bind(this);
。 - Mike