要求:行政區域的划分(以貴州省為例)
百度api代碼:
<script type="text/javascript"> // 百度地圖API功能 var map = new BMap.Map("allmap"); map.centerAndZoom(new BMap.Point(116.403765, 39.914850), 5); map.enableScrollWheelZoom(); function getBoundary(){ var bdary = new BMap.Boundary(); bdary.get("北京市海淀區", function(rs){ //獲取行政區域 map.clearOverlays(); //清除地圖覆蓋物 var count = rs.boundaries.length; //行政區域的點有多少個 if (count === 0) { alert('未能獲取當前輸入行政區域'); return ; } var pointArray = []; for (var i = 0; i < count; i++) { var ply = new BMap.Polygon(rs.boundaries[i], {strokeWeight: 2, strokeColor: "#ff0000"}); //建立多邊形覆蓋物 map.addOverlay(ply); //添加覆蓋物 pointArray = pointArray.concat(ply.getPath()); } map.setViewport(pointArray); //調整視野 addlabel(); }); } setTimeout(function(){ getBoundary(); }, 2000); </script>
效果:
不想要外面那層遮罩;
解決方法:
function getBoundary(){ var bdary = new BMap.Boundary(); bdary.get("貴州省", function(rs){ //獲取行政區域 map.clearOverlays(); //清除地圖覆蓋物 var count = rs.boundaries.length; //行政區域的點有多少個 if (count === 0) { alert('未能獲取當前輸入行政區域'); return ; } var pointArray = []; for (var i = 0; i < count; i++) { var ply = new BMap.Polygon(rs.boundaries[i], {strokeWeight: 2, strokeColor: "#ff0000",fillColor:""}); //建立多邊形覆蓋物 map.addOverlay(ply); //添加覆蓋物 pointArray = pointArray.concat(ply.getPath()); } map.setViewport(pointArray); //調整視野 addlabel(); }); }
在生成覆蓋物的時候添加 fillColor:""一個參數