1. 程式人生 > >百度地圖畫多邊形程式碼

百度地圖畫多邊形程式碼

function $(id){ return document.getElementById(id); } // 百度地圖API功能 var map = new BMap.Map('map'); var poi = new BMap.Point(113.948913,22.530844); map.centerAndZoom(poi, 16); map.enableScrollWheelZoom(); var overlays = []; var overlaycomplete = function
(e){
overlays.push(e.overlay); }; var styleOptions = { strokeColor:"red", //邊線顏色。 fillColor:"red", //填充顏色。當引數為空時,圓形將沒有填充效果。 strokeWeight: 3, //邊線的寬度,以畫素為單位。 strokeOpacity: 0.8, //邊線透明度,取值範圍0 - 1。 fillOpacity: 0.6, //填充的透明度,取值範圍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); map.addEventListener("rightclick",function(e){ if(confirm(e.point.lng + "," + e.point.lat)){ $("shape").innerHTML=$("shape").innerHTML+" <br/>("+e.point.lng+","+e.point.lat+")"; } }); function draw(type){ drawingManager.open(); drawingManager.setDrawingMode(type); } function clearAll() { for(var i = 0; i < overlays.length; i++){ map.removeOverlay(overlays[i]); } overlays.length = 0 } function getPoint(){ $("resultShape").innerHTML=''; for(var i = 0; i < overlays.length; i++){ var overlay=overlays[i].getPath(); $("resultShape").innerHTML=$("resultShape").innerHTML+overlay.length+'邊形:<br/>'; for(var j = 0; j < overlay.length; j++){ var grid =overlay[j]; $("resultShape").innerHTML=$("resultShape").innerHTML+(j+1)+"個點:("+grid.lng+","+grid.lat+");<br/>"; } } } function Editing(state){ for(var i = 0; i < overlays.length; i++){ state=='enable'?overlays[i].enableEditing():overlays[i].disableEditing(); } } function showPolygon(btn){ var polygon = new BMap.Polygon([ new BMap.Point(113.941853,22.530777), new BMap.Point(113.940487,22.527789), new BMap.Point(113.94788,22.527597), new BMap.Point(113.947925,22.530618) ], styleOptions); //建立多邊形 map.addOverlay(polygon); //增加多邊形 // overlays.push(polygon); //是否把該影象加入到編輯和刪除行列 btn.setAttribute('disabled','false'); showText(); } function showText(){ var opts = { position : new BMap.Point(113.941853,22.530777), // 指定文字標註所在的地理位置 offset : new BMap.Size(30, 30) //設定文字偏移量 } var label = new BMap.Label("不可編輯", opts); // 建立文字標註物件 label.setStyle({ color : "black", fontSize : "16px", fillColor:"red", //填充顏色。當引數為空時,圓形將沒有填充效果。 }); map.addOverlay(label); }