最近接着个需求,需要在地图上将行政区域高亮,在网上找了几个方法,都是自己算的点顺序,总结了一下,出现过以下几个问题
1、行政区域边线画出来了,但是遮罩不准,应该是点顺序的问题,导致总是有显示或者不显示的地方
2、有一条线连到边界,或者区域外有些地方不准
3、自己按照一定的顺序组合点顺序,看着费劲,不方便
自己研究了一下,做了一下改动,很简单,在这里记录一下。代码如下。
function getBoundary(){
//百度地图获取行政区域的对象
var bdary = new BMap.Boundary();
bdary.get("重庆", function (rs) { //获取行政区域
//以下是获取行政区域的回调
map.clearOverlays(); //清除地图覆盖物
//需要绘制边界多边形的点集合
var paths = new Array();
//行政区域点集合,以;分隔的
var pointliststr = rs.boundaries[0];
//3获取点数组,push到 paths中
var pointlist = pointliststr.split(";");
var firstPoint;
for(var i =0;i<pointlist.length;i+