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]
		}));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值