百度地图API限制地图范围,拖拽出区域自动弹回

前段时间迭代了地图功能,需要把地图限制在太湖这个范围内,就是不要让用户的地图停留在这以外的区域,网上找了不少资料都没有能完全实现这个功能的(仅仅限制边界并且禁止拖拽的话放大了也无法拖拽了),自己动手写了一下,效果很满意:

前面一部分为初始化地图

后面限制了地图的范围,拖拽出区域会自动弹回地图初始值

        function initMap() {
			createMap(); //创建地图
			setMapEvent(); //设置地图事件
			
		}

		function createMap() {
			map = new BMap.Map("allmap", {
				enableMapClick: false
			});
			map.centerAndZoom(new BMap.Point(120.590027, 31.311812), 7);
			gc = new BMap.Geocoder();
		}

		var point = new BMap.Point(init_lng, init_lat);

		function setMapEvent() {
			map.enableScrollWheelZoom(true); //启用滚轮放大缩小,默认禁用
			map.enableKeyboard(); //启用键盘操作,默认禁用。
			map.enableDragging(); //启用地图拖拽,默认启用
			map.enableDoubleClickZoom(); //启用双击放大,默认启用
			map.setMinZoom(9);
			map.setMaxZoom(20);
			// map.disableDragging(); //禁止拖拽

            //限制地图范围的部分
			var strictBounds = new BMap.Bounds(new BMap.Point(119.9622
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值