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