【百度地图】在百度地图上框出边界线

时间:2024-04-05 10:23:17

代码:

一、建立地图

创建地图对象;设立中心点以及地图级别。

 var map = new BMap.Map("container");
 map.centerAndZoom(new BMap.Point(116.403765, 39.914850), 12);

二、添加地图事件

地图事件:添加了滚轮缩放。

map.enableScrollWheelZoom(true)

三、获取行政区域

构造函数Boundary;

get方法,获取行政区域的边界。

rs是获取到的结果。

获取到边界的点数组后,添加一个多边形覆盖物。

points为一系列点的数组,系统自动展示points里所有点。

function getBoundary(){       
    var bdary = new BMap.Boundary();
    var name = document.getElementById("districtName").value;//江西省,输入省、直辖市或县名称即可
    bdary.get(name, function(rs){       //获取行政区域
        map.clearOverlays();        //清除地图覆盖物       
        var count = rs.boundaries.length; //行政区域的点有多少个
        for(var i = 0; i < count; i++){
            var ply = new BMap.Polygon(rs.boundaries[i], 
                      {strokeWeight: 2, //设置多边形边线线粗
                       strokeOpacity: 1, //设置多边形边线透明度0-1
                       StrokeStyle: "solid", //设置多边形边线样式为实线或虚线,取值 solid 或 dashed
                       strokeColor: "#ff0000", //设置多边形边线颜色
                       fillColor: "#00ffff", //设置多边形填充颜色
                       fillOpacity:0.01 //设置多边形填充颜色透明度0-1  注:标红的地放你们可以去掉看一下效果,自己体验一下
                  }); //建立多边形覆盖物
            map.addOverlay(ply);  //添加覆盖物
            map.setViewport(ply.getPath());    //调整视野

图片效果图:

【百度地图】在百度地图上框出边界线