鼠標繪制管理類,實現(xiàn)鼠標繪制管理的入口。 實例化該類后,即可調用該類提供的open 方法開啟繪制模式狀態(tài)。 也可加入工具欄進行選擇操作。
源文件: DrawingManager.js.
類 | 描述 |
BMapLib.DrawingManager(map, opts) | DrawingManager類的構造函數(shù) |
方法 | 返回值 | 描述 |
close() | 關閉地圖的繪制狀態(tài) | |
關閉距離或面積計算 | ||
打開距離或面積計算 | ||
DrawingType | 獲取當前的繪制模式 | |
open() | 開啟地圖的繪制模式 | |
setDrawingMode(DrawingType) | Boolean | 設置當前的繪制模式,參數(shù)DrawingType,為5個可選常量: |
事件 | 參數(shù) | 描述 |
circlecomplete(overlay) | {Circle} | 繪制圓完成后,派發(fā)的事件接口 |
markercomplete(overlay) | {Marker} | 繪制點完成后,派發(fā)的事件接口 |
{Event Object} | 鼠標繪制完成后,派發(fā)總事件的接口 | |
polygoncomplete(overlay) | {Polygon} | 繪制多邊形完成后,派發(fā)的事件接口 |
polylinecomplete(overlay) | {Polyline} | 繪制線完成后,派發(fā)的事件接口 |
rectanglecomplete(overlay) | {Polygon} | 繪制矩形完成后,派發(fā)的事件接口 |
類
BMapLib.DrawingManager(map, opts)
DrawingManager類的構造函數(shù)
var map = new BMap.Map("container"); map.centerAndZoom(new BMap.Point(116.404, 39.915), 15); var myDrawingManagerObject = new BMapLib.DrawingManager(map, {isOpen: true, drawingType: BMAP_DRAWING_MARKER, enableDrawingTool: true, enableCalculate: false, drawingToolOptions: { anchor: BMAP_ANCHOR_TOP_LEFT, offset: new BMap.Size(5, 5), drawingTypes : [ BMAP_DRAWING_MARKER, BMAP_DRAWING_CIRCLE, BMAP_DRAWING_POLYLINE, BMAP_DRAWING_POLYGON, BMAP_DRAWING_RECTANGLE ] }, polylineOptions: { strokeColor: "#333" });
參數(shù):
{Map} map
Baidu map的實例對象
{Json Object} opts
可選的輸入?yún)?shù),非必填項??奢斎脒x項包括:
{"isOpen" : {Boolean} 是否開啟繪制模式
"enableDrawingTool" : {Boolean} 是否添加繪制工具欄控件,默認不添加
"drawingToolOptions" : {Json Object} 可選的輸入?yún)?shù),非必填項。可輸入選項包括
"anchor" : {ControlAnchor} 停靠位置、默認左上角
"offset" : {Size} 偏移值。
"scale" : {Number} 工具欄的縮放比例,默認為1
"drawingModes" : {DrawingType} 工具欄上可以選擇出現(xiàn)的繪制模式,將需要顯示的DrawingType以數(shù)組型形式傳入,如[BMAP_DRAWING_MARKER, BMAP_DRAWING_CIRCLE] 將只顯示畫點和畫圓的選項
"enableCalculate" : {Boolean} 繪制是否進行測距(畫線時候)、測面(畫圓、多邊形、矩形)
"markerOptions" : {CircleOptions} 所畫的點的可選參數(shù),參考api中的對應類
"circleOptions" : {CircleOptions} 所畫的圓的可選參數(shù),參考api中的對應類
"polylineOptions" : {CircleOptions} 所畫的線的可選參數(shù),參考api中的對應類
"polygonOptions" : {PolygonOptions} 所畫的多邊形的可選參數(shù),參考api中的對應類
"rectangleOptions" : {PolygonOptions} 所畫的矩形的可選參數(shù),參考api中的對應類
方法詳述
close()
關閉地圖的繪制狀態(tài)
myDrawingManagerObject.close();
disableCalculate()
關閉距離或面積計算
myDrawingManagerObject.disableCalculate();
enableCalculate()
打開距離或面積計算
myDrawingManagerObject.enableCalculate();
{DrawingType} getDrawingMode()
獲取當前的繪制模式
alert(myDrawingManagerObject.getDrawingMode());
返回值:
{DrawingType} 繪制的模式
open()
開啟地圖的繪制模式
myDrawingManagerObject.open();
{Boolean} setDrawingMode(DrawingType)
設置當前的繪制模式,參數(shù)DrawingType,為5個可選常量:
BMAP_DRAWING_MARKER 畫點
BMAP_DRAWING_CIRCLE 畫圓
BMAP_DRAWING_POLYLINE 畫線
BMAP_DRAWING_POLYGON 畫多邊形
BMAP_DRAWING_RECTANGLE 畫矩形
myDrawingManagerObject.setDrawingMode(BMAP_DRAWING_POLYLINE);
參數(shù):
{DrawingType} DrawingType
返回值:
{Boolean}
事件詳述
circlecomplete(overlay)
繪制圓完成后,派發(fā)的事件接口
參數(shù):
{Circle} overlay
回調函數(shù)會返回相應的覆蓋物,
{"overlay : {Circle}
markercomplete(overlay)
繪制點完成后,派發(fā)的事件接口
參考示例:myDrawingManagerObject.addEventListener("circlecomplete", function(e, overlay) {
alert(overlay);
});
參數(shù):
{Marker} overlay
回調函數(shù)會返回相應的覆蓋物,
{"overlay : {Marker}
overlaycomplete(e)
鼠標繪制完成后,派發(fā)總事件的接口
參考示例:myDrawingManagerObject.addEventListener("overlaycomplete", function(e) {
alert(e.drawingMode);
alert(e.overlay);
alert(e.calculate);
alert(e.label);
});
參數(shù):
{Event Object} e
回調函數(shù)會返回event參數(shù),包括以下返回值:
{"drawingMode : {DrawingType} 當前的繪制模式
"overlay:{Marker||Polyline||Polygon||Circle} 對應的繪制模式返回對應的覆蓋物
"calculate:{Number} 需要開啟計算模式才會返回這個值,當繪制線的時候返回距離、繪制多邊形、圓、矩形時候返回面積,單位為米,
"label:{Label} 計算面積時候出現(xiàn)在Map上的Label對象
polygoncomplete(overlay)
繪制多邊形完成后,派發(fā)的事件接口
參數(shù):
{Polygon} overlay
回調函數(shù)會返回相應的覆蓋物,
{"overlay : {Polygon}
polylinecomplete(overlay)
繪制線完成后,派發(fā)的事件接口
參數(shù):
{Polyline} overlay
回調函數(shù)會返回相應的覆蓋物,
{"overlay : {Polyline}
rectanglecomplete(overlay)
繪制矩形完成后,派發(fā)的事件接口
參數(shù):
{Polygon} overlay
回調函數(shù)會返回相應的覆蓋物,
{"overlay : {Polygon}