openlayers限制地图拖动区域
现在做webgis基本都会用到openlayers或者leaflet。那么在显示地图的时候,特别是显示小区域地图的时候,由于地图区域较小,就会存在把地图拖动到显示区域之外的现象。那么该如何限制地图拖动的区域呢。
在openlayers2中有restrictedExtent属性,直接设置下即可。
var options = {
controls : [
new OpenLayers.Control.Navigation()
],
projection: new OpenLayers.Projection("EPSG:4326"),
maxResolution: 0.703125,
// minScale:1/3500,
// minScale:100,
numZoomLevels :22 ,
restrictedExtent: restrictedExtent,
//maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
//allOverlays : true
};
//初始化map对象
this.map = new OpenLayers.Map('map',options);
但是在openlayers3中,由于没有直接的属性和接口使用,因此需要用别的方法。我用的方法就是在map的view对象中添加extent属性来限制。
map.setView(new ol.View({
center: mapCenter,
projection: this.projection,
//extent : mapExtent,
zoom: 18,
minZoom: 16,
maxZoom: 23,
extent:[mapExtent[1]-0.0001,mapExtent[0]-0.0001,mapExtent[3]+0.0001,mapExtent[2]+0.0001]
}));
转载自:https://blog.csdn.net/longshengguoji/article/details/49000785