百度地图获取行政区划边界

<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=自己的AK"></script>

创建地图

 var map = new BMap.Map("allmap");//创建地图的DOM容器
        var pointTheme = new BMap.Point(113.620196, 40.045125);//中心点坐标
        map.centerAndZoom(new BMap.Point(113.620196, 40.045125), 7);//中心点坐标
        map.enableScrollWheelZoom();
        function addMarker1(point, index) {  // 创建图标对象
            console.log(point)
            var myIcon = new BMap.Icon("/indexdata/images/markers.png", new BMap.Size(23, 25), {
                // 指定定位位置。
                // 当标注显示在地图上时,其所指向的地理位置距离图标左上
                // 角各偏移10像素和25像素。您可以看到在本例中该位置即是
                // 图标中央下端的尖角位置。
                anchor: new BMap.Size(10, 25),
                // 设置图片偏移。
                // 当您需要从一幅较大的图片中截取某部分作为标注图标时,您
                // 需要指定大图的偏移位置,此做法与css sprites技术类似。
                imageOffset: new BMap.Size(0, 0 - index * 25)   // 设置图片偏移
            });
            map.setMinZoom(8.5);
            map.setMaxZoom(18);
            // 创建标注对象并添加到地图
            var marker = new BMap.Marker(point, { icon: myIcon });
            map.addOverlay(marker);
        }

 随机添加地图标注

// 随机向地图添加3个标注
        for (var i = 0; i < 3; i++) {
            var point = [
                {
                    name: "张三",
                    address: "大同市",
                    tentle: 5,
                    lng: 107.649822,
                    lat: 35.715762,
                },
                {
                    name: "李四",
                    address: "庆城镇",
                    tentle: 7,
                    lng: 107.909807,
                    lat: 35.987334,
                },
                {
                    name: "赵伟",
                    address: "樊家川",
                    tentle: 7,
                    lng: 107.473625,
                    lat: 36.584233,
                },
            ]

            addMarker1(point, i);
        }

 获取行政区边界划函数,可单独运行该函数,不需创建上面的方法

function getBoundary() {
            var bdary = new BMap.Boundary();
            bdary.get(name, function (rs) {       //获取行政区域,name为地区名称如'北京市'
                map.clearOverlays();        //清除地图覆盖物
                var EN_JW = "180, 90;";         //东北角
                var NW_JW = "-180,  90;";       //西北角
                var WS_JW = "-180, -90;";       //西南角
                var SE_JW = "180, -90;";        //东南角
                //4.添加环形遮罩层
                var ply1 = new BMap.Polygon(rs.boundaries[0] + SE_JW + SE_JW + WS_JW + NW_JW + EN_JW + SE_JW, { strokeColor: "none", fillColor: "rgba(246,246,246,0.7)", fillOpacity: 1, strokeOpacity: 0.5 }); //建立多边形覆盖物
                map.addOverlay(ply1);
                //5. 给目标行政区划添加边框,其实就是给目标行政区划添加一个没有填充物的遮罩层
                var ply = new BMap.Polygon(rs.boundaries[0], { strokeWeight: 2, strokeColor: "#ff0000", fillColor: "" });
                map.addOverlay(ply);
                map.setViewport(ply.getPath());    //调整视野
                //addlabel();
            });
        }
        getBoundary();

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值