百度地圖 JavaScript api 2.0之類 BMapLib.DrawingManager


百度地圖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.

描述
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}
繪制線完成后,派發的事件接口
{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 畫矩形
參考示例:
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}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM