首先引入工具,不要忘了引入百度api
<!--加載鼠標繪制工具--> <script type="text/javascript" src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"> </script> <link rel="stylesheet" href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css" />
然后代碼如下
<div id="allmap" style="overflow: hidden; position: relative; zoom: 1;"> <div id="map" style="-webkit-transition: all 0.5s ease-in-out; height: 100%; transition: all 0.5s ease-in-out;"> </div> <input type="button" value="清除覆蓋物" onclick="clearOverlays()" style="position: absolute;top:10px;left:10px;"> </div> <script type="text/javascript"> var map = new BMap.Map("map", { enableMapClick: false //關閉鼠標默認點擊 }); map.centerAndZoom('青島市', 13); map.enableScrollWheelZoom(true); //開啟鼠標滾輪縮放 var overlays = []; var overlaycomplete = function (e) { clearAll(); overlays.push(e.overlay); e.overlay.enableEditing();//開啟編輯模式 e.overlay.addEventListener("lineupdate", function (e) { showLatLon(e.currentTarget); }); var pointArray = e.overlay.getPath(); map.setViewport(pointArray); //調整視野 }; var styleOptions = { strokeColor: "red", //邊線顏色。 fillColor: "red", //填充顏色。當參數為空時,圓形將沒有填充效果。 strokeWeight: 2, //邊線的寬度,以像素為單位。 strokeOpacity: 0.5, //邊線透明度,取值范圍0 - 1。 fillOpacity: 0.3, //填充的透明度,取值范圍0 - 1。 strokeStyle: 'solid' //邊線的樣式,solid或dashed }; var drawingManager = new BMapLib.DrawingManager(map, { isOpen: false,//是否開啟繪制模式 enableDrawingTool: true,//是否開啟工具欄 drawingToolOptions: { anchor: BMAP_ANCHOR_TOP_RIGHT, //位置 offset: new BMap.Size(5, 5), //偏離值 }, circleOptions: styleOptions, //圓的樣式 polylineOptions: styleOptions, //線的樣式 polygonOptions: styleOptions, //多邊形的樣式 rectangleOptions: styleOptions //矩形的樣式 }); //添加鼠標繪制工具監聽事件,用於獲取繪制結果 drawingManager.addEventListener('overlaycomplete', overlaycomplete); function clearAll() { for (var i = 0; i < overlays.length; i++) { map.removeOverlay(overlays[i]); } overlays.length = 0; } //清除覆蓋物 function clearOverlays() { map.clearOverlays(); } </script>
補充:如果不想開啟工具欄
$('#drawLine').on('click', function () { drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON);//開啟多邊形繪制 drawingManager.open(); return false; // 阻止表單跳轉 });