最近遇到一个需求,深圳罗湖区域要标注出来和其它区域区分出来
官网的效果图
官网上说v3.0版的jsapi新增了CanvasLayer自定义绘制层,看了下如果是绘制边界的话会很麻烦
最后在百度官网上发现了一些比较实用的接口Boundary 和 Polygon
使用方法如下:
var bdary = new BMap.Boundary();
bdary.get('深圳罗湖区', function(rs){ //获取行政区域
// rs可以直接得到边界点的坐标
}
});
用Polygon方法接口把得到的边界点循环绘制,
//strokeWeight
var count = rs.boundaries.length;
for(var i = 0; i < count; i++){
var ply = new BMap.Polygon(rs.boundaries[i],
{strokeWeight: 2, strokeColor: "#F5533D",fillColor:'#F5533D',fillOpacity:0.3}
); //建立多边形覆盖物
map.addOverlay(ply); //添加覆盖物
}
本地效果图:
补充: Polygon中各参数的用法