关于百度地图API显示地区范围控制的问题

关于百度地图API显示地区范围控制的问题,这个有很多种方法,需要看个人需求下面列举两种方法
1.假如我只想在

加载地图的时候显示郑州市所包含的范围,其他地方屏蔽掉,或者不让拖拽(如有图所示)










2.

控制区域范围,比如我只想显示北京市,只能在北京市内拖曳——地图控制在某一区域,具体实现


 
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
        body, html, #allmap {
            width: 100%;
            height: 100%;
            overflow: hidden;
            margin: 0;
            font-family: "微软雅黑";
        }
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
    <title>地图展示</title>
</head>
<body>
    <div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
//var map = new BMap.Map("allmap");    // 创建Map实例
    //map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);  // 初始化地图,设置中心点坐标和地图级别
    var map = new BMap.Map("allmap");
    map.centerAndZoom(new BMap.Point(116.404, 39.915), 13);
    map.enableScrollWheelZoom(); // 允许滚动


    map.addControl(new BMap.MapTypeControl());   //添加地图类型控件

    //添加地图平移缩放控件
    map.addControl(new BMap.NavigationControl());

    //控制地图的最大和最小缩放级别
    map.setMinZoom(16);
    map.setMaxZoom(18);
    map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放


var strictBounds=new Bmap.Bounds(new BMap.Point(116.3645,39.9673),new BMap.Point(116.3646,39.9685));//sw西南,ne东北
var strictBounds=map.getBounds();
map.addEventListener("dragend", function(){
   if(strictBounds.containsPoint(map.getCenter()))return;
   var c=map.getCenter();
   x=c.lng,
        y=c.lat,
        maxX=strictBounds.getNorthEast().lng,
        maxY=strictBounds.getNorthEast().lat,
        minX=strictBounds.getSouthWest().lng,
        minY=strictBounds.getSouthWest().lat;
   if (x < minX) x = minX;
   if (x > maxX) x = maxX;
   if (y < minY) y = minY;
   if (y > maxY) y = maxY;
   map.centerAndZoom(new BMap.Point(x,y),map.getZoom());
})
</script>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值