百度地圖開發常用網站
1、百度地圖開放平臺
http://lbsyun.baidu.com/
2、百度地圖 Javascript API
-
JavaScript API v3.0 http://lbsyun.baidu.com/index.php?title=jspopular3.0
-
JavaScript API v2.0 http://lbsyun.baidu.com/index.php?title=jspopular
-
JavaScript API Lite http://lbsyun.baidu.com/index.php?title=jspopularLiteV1
3、JavaScript API v2.0類參考
http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html
4、百度地圖示例DEMO(JavaScript API v2.0)
http://lbsyun.baidu.com/jsdemo.htm#a1_2
5、百度地圖 ak 申請:(JavaScript API v2.0)
http://lbsyun.baidu.com/index.php?title=jspopular/guide/getkey
6、開源庫(JavaScript API v2.0):鼠標繪製工具條、熱力圖、聚合marker、測距工具、自定義覆蓋物、自定義信息窗口、路書等功能
http://lbsyun.baidu.com/index.php?title=jspopular/openlibrary
7、百度地圖座標拾取系統
http://api.map.baidu.com/lbsapi/getpoint/index.html
說明
項目中使用 JavaScript API v2.0 版本,當然也可以使用最新版 V3.0。
JavaScript API Lite是移動端瀏覽器上構建地圖應用
百度地圖地圖及圖層事件處理
1、百度地圖 ak 申請:(JavaScript API v2.0)
http://lbsyun.baidu.com/index.php?title=jspopular/guide/getkey
2、地圖及圖層事件、使用方式:
核心類
Map:此類是地圖API的核心類,用來實例化一個地圖。
地圖事件使用方式:例子
//右鍵單擊地圖時觸發此事件
map.addEventListener("rightclick", function (e) {
alert("鼠標右鍵操作");
});
//停止拖拽地圖時觸發
map.addEventListener("dragend", function (e) {
//要做的事情
});
//地圖更改縮放級別結束時觸發觸發此事件
map.addEventListener("zoomend", function (e) {
//要做的事情
});
地圖API:工作中用到的用紅色標出
構造函數 | 描述 |
Map(container: String | HTMLElement, opts: MapOptions) | 在指定的容器內創建地圖實例,之後需要調用Map.centerAndZoom()方法對地圖進行初始化。未進行初始化的地圖將不能進行任何操作 |
方法 | 返回值 | 描述 |
enableDragging() | none | 啓用地圖拖拽,默認啓用 |
disableDragging() | none | 禁用地圖拖拽 |
enableScrollWheelZoom() | none | 啓用滾輪放大縮小,默認禁用 |
disableScrollWheelZoom() | none | 禁用滾輪放大縮小 |
enableDoubleClickZoom() | none | 啓用雙擊放大,默認啓用 |
disableDoubleClickZoom() | none | 禁用雙擊放大 |
enableKeyboard() | none | 啓用鍵盤操作,默認禁用。鍵盤的上、下、左、右鍵可連續移動地圖。同時按下其中兩個鍵可使地圖進行對角移動。PgUp、PgDn、Home和End鍵會使地圖平移其1/2的大小。+、-鍵會使地圖放大或縮小一級 |
disableKeyboard() | none | 禁用鍵盤操作 |
enableInertialDragging() | none | 啓用地圖慣性拖拽,默認禁用 |
disableInertialDragging() | none | 禁用地圖慣性拖拽 |
enableContinuousZoom() | none | 啓用連續縮放效果,默認禁用 |
disableContinuousZoom() | none | 禁用連續縮放效果 |
enablePinchToZoom() | none | 啓用雙指操作縮放,默認啓用 |
disablePinchToZoom() | none | 禁用雙指操作縮放 |
enableAutoResize() | none | 啓用自動適應容器尺寸變化,默認啓用 |
disableAutoResize() | none | 禁用自動適應容器尺寸變化 |
setDefaultCursor(cursor: String) | none | 設置地圖默認的鼠標指針樣式。參數cursor應符合CSS的cursor屬性規範 |
getDefaultCursor() | String | 返回地圖默認的鼠標指針樣式 |
setDraggingCursor(cursor: String) | none | 設置拖拽地圖時的鼠標指針樣式。參數cursor應符合CSS的cursor屬性規範 |
getDraggingCursor() | String | 返回拖拽地圖時的鼠標指針樣式 |
setMinZoom(zoom: Number) | none | 設置地圖允許的最小級別。取值不得小於地圖類型所允許的最小級別 |
setMaxZoom(zoom: Number) | none | 設置地圖允許的最大級別。取值不得大於地圖類型所允許的最大級別 |
setMapStyle() | none | 設置地圖樣式,樣式包括地圖底圖顏色和地圖要素是否展示兩部分 |
setPanorama(pano: Panorama) | none | 將全景實例與Map類進行綁定 |
getBounds() | Bounds | 返回地圖可視區域,以地理座標表示 |
getCenter() | Point | 返回地圖當前中心點 |
getDistance(start: Point, end: Point) | Number | 返回兩點之間的距離,單位是米 |
getMapType() | MapType | 返回地圖類型 |
getSize() | Size | 返回地圖視圖的大小,以像素表示 |
getViewport(view: Array<Point>, viewportOptions: ViewportOptions) | Viewport | 根據提供的地理區域或座標獲得最佳的地圖視野,返回的對象中包含center和zoom屬性,分別表示地圖的中心點和級別。此方法僅返回視野信息,不會將新的中心點和級別做用到當前地圖上 |
getZoom() | Number | 返回地圖當前縮放級別 |
getPanorama() | Panorama | 獲取與Map類綁定的全景實例 |
centerAndZoom(center: Point, zoom: Number) | none | 設初始化地圖。 如果center類型爲Point時,zoom必須賦值,範圍3-19級,若調用高清底圖(針對移動端開發)時,zoom可賦值範圍爲3-18級。如果center類型爲字符串時,比如“北京”,zoom可以忽略,地圖將自動根據center適配最佳zoom級別 |
panTo(center: Point, opts: PanOptions) | none | 將地圖的中心點更改爲給定的點。如果該點在當前的地圖視圖中已經可見,則會以平滑動畫的方式移動到中心點位置。可以通過配置強制移動過程不使用動畫效果 |
panBy(x: Number, y: Number, opts: PanOptions) | none | 將地圖在水平位置上移動x像素,垂直位置上移動y像素。如果指定的像素大於可視區域範圍或者在配置中指定沒有動畫效果,則不執行滑動效果 |
reset() | none | 重新設置地圖,恢復地圖初始化時的中心點和級別 |
setCenter(center: Point | String) | none | 設置地圖中心點。center除了可以爲座標點以外,還支持城市名 |
setCurrentCity(city: String) | none | 設置地圖城市,注意當地圖初始化時的類型設置爲BMAP_NORMAL_MAP時,需要在調用centerAndZoom之前調用此方法設置地圖所在城市。例如: var map = new BMap.Map(“container”, {mapType: BMAP_NORMAL_MAP}); map.setCurrentCity(“北京市”); map.centerAndZoom(new BMap.Point(116.404, 39.915), 18); 注意:初始化的座標應與您設置的城市對應,否則地圖將無法正常顯示。 |
setMapType(mapType: MapTypes) | none | 設置地圖類型 |
setViewport(view: Array<Point> | Viewport, viewportOptions: ViewportOptions) | none | 根據提供的地理區域或座標設置地圖視野,調整後的視野會保證包含提供的地理區域或座標 |
setZoom(zoom: Number) | none | 將視圖切換到指定的縮放等級,中心點座標不變。注意:當有信息窗口在地圖上打開時,地圖縮放將保證信息窗口所在的座標位置不動 |
highResolutionEnabled() | Boolean | 是否使用高分辨率底圖。僅當mapOptions.enableHighResolution屬性爲true且設備支持高分辨率時返回true |
zoomIn() | none | 放大一級視圖 |
zoomOut() | none | 縮小一級視圖 |
addHotspot(hotspot: Hotspot) | none | 爲地圖添加熱區 |
removeHotspot(hotspot: Hotspot) | none | 移除某個地圖熱區 |
clearHotspots() | none | 清空地圖所有熱區 |
addControl(control: Control) | none | 將控件添加到地圖,一個控件實例只能向地圖中添加一次 |
removeControl(control: Control) | none | 從地圖中移除控件。如果控件從未被添加到地圖中,則該移除不起任何作用 |
getContainer() | HTMLElement | 返回地圖的容器元素。當創建用戶自定義控件時,需要自行實現Control.initialize()方法,並將控件的容器元素添加到地圖上,通過此方法可獲得地圖容器 |
addContextMenu(menu: ContextMenu) | none | 添加右鍵菜單 |
removeContextMenu(menu: ContextMenu) | none | 移除右鍵菜單 |
addOverlay(overlay: Overlay) | none | 將覆蓋物添加到地圖中,一個覆蓋物實例只能向地圖中添加一次 |
removeOverlay(overlay: Overlay) | none | 從地圖中移除覆蓋物。如果覆蓋物從未被添加到地圖中,則該移除不起任何作用 |
clearOverlays() | none | 清除地圖上所有覆蓋物 |
openInfoWindow(infoWnd: InfoWindow, point: Point) | none | 在地圖上打開信息窗口 |
closeInfoWindow() | none | 關閉在地圖上打開的信息窗口。在標註上打開的信息窗口也可通過此方法進行關閉 |
pointToOverlayPixel(point: Point) | Pixel | 根據地理座標獲取對應的覆蓋物容器的座標,此方法用於自定義覆蓋物 |
overlayPixelToPoint(pixel: Pixel) | Point | 根據覆蓋物容器的座標獲取對應的地理座標 |
getInfoWindow() | InfoWindow | Null | 返回地圖上處於打開狀態的信息窗的實例。當地圖沒有打開的信息窗口時,此方法返回null |
getOverlays() | Array<Overlay> | 返回地圖上的所有覆蓋物 |
getPanes() | MapPanes | 返回地圖覆蓋物容器列表 |
addTileLayer(tileLayer: TileLayer) | none | 添加一個自定義地圖圖層 |
removeTileLayer(tileLayer: TileLayer) | none | 移除一個自定義地圖圖層 |
getTileLayer(mapType: String) | TileLayer | 通過地圖類型得到一個地圖圖層對象 |
pixelToPoint(pixel: Pixel) | Point | 像素座標轉換爲經緯度座標 |
pointToPixel(point: Point) | Pixel | 經緯度座標轉換爲像素座標 |
地圖事件API:工作中用到的用紅色標出,前面 3 個時最常用的
事件 | 參數 | 描述 |
click |
{type, target, point, pixel, overlay} |
左鍵單擊地圖時觸發此事件。 當雙擊時,產生的事件序列爲: click click dblclick |
dblclick |
{type, target, pixel, point} |
鼠標雙擊地圖時會觸發此事件 |
rightclick |
{type, target, point, pixel, overlay} |
右鍵單擊地圖時觸發此事件。 當雙擊時,產生的事件序列爲: rightclick rightclick rightdblclick |
rightdblclick | {type, target, point, pixel, overlay} | 右鍵雙擊地圖時觸發此事件 |
maptypechange | {type, target} | 地圖類型發生變化時觸發此事件 |
mousemove | {type, target, point, pixel, overlay} | 鼠標在地圖區域移動過程中觸發此事件 |
mouseover | {type, target} | 鼠標移入地圖區域時觸發此事件 |
mouseout | {type, target} | 鼠標移出地圖區域時觸發此事件 |
movestart | {type, target} | 地圖移動開始時觸發此事件 |
moving | {type, target} | 地圖移動過程中觸發此事件 |
moveend | {type, target} | 地圖移動結束時觸發此事件 |
zoomstart | {type, target} | 地圖更改縮放級別開始時觸發觸發此事件 |
zoomend | {type, target} | 地圖更改縮放級別結束時觸發觸發此事件 |
addoverlay | {type, target} | 當使用Map.addOverlay()方法向地圖中添加單個覆蓋物時會觸發此事件 |
addcontrol | {type, target} | 當使用Map.addControl()方法向地圖中添加單個控件時會觸發此事件 |
removecontrol | {type, target} | 當使用Map.removeControl()方法移除單個控件時會觸發此事件 |
removeoverlay | {type, target} | 當使用Map.removeOverlay()方法移除單個覆蓋物時會觸發此事件 |
clearoverlays | {type, target} | 當使用Map.clearOverlays()方法一次性移除全部覆蓋物時會觸發此事件 |
dragstart | {type, target, pixel, point} | 開始拖拽地圖時觸發 |
dragging | {type, target, pixel, point} | 拖拽地圖過程中觸發 |
dragend | {type, target, pixel, point} | 停止拖拽地圖時觸發 |
addtilelayer | {type, target} | 添加一個自定義地圖圖層時觸發此事件 |
removetilelayer | {type, target} | 移除一個自定義地圖圖層時觸發此事件 |
load | {type, target, pixel, point, zoom} | 調用Map.centerAndZoom()方法時會觸發此事件。這表示位置、縮放層級已經確定,但可能還在載入地圖圖塊 |
resize | {type, target, size} | 地圖可視區域大小發生變化時會觸發此事件 |
hotspotclick | {type, target, spots} | 點擊熱區時觸發此事件 |
hotspotover | {type, target, spots} | 鼠標移至熱區時觸發此事件 |
hotspotout | {type, target, spots} | 鼠標移出熱區時觸發此事件 |
tilesloaded | {type, target} | 當地圖所有圖塊完成加載時觸發此事件 |
touchstart | {type, target, point,pixel} | 觸摸開始時觸發此事件,僅適用移動設備 |
touchmove | {type, target, point,pixel} | 觸摸移動時觸發此事件,僅適用移動設備 |
touchend | {type, target, point,pixel} | 觸摸結束時觸發此事件,僅適用移動設備 |
longpress | {type, target, point,pixel} | 長按事件,僅適用移動設備 |
覆蓋物類(圖層)
Overlay: 覆蓋物的抽象基類,所有覆蓋物均繼承基類的方法。此類不可實例化。
方法 | 返回值 | 描述 |
initialize(map: Map) | HTMLElement | 抽象方法,用於初始化覆蓋物,當調用map.addOverlay時,API將調用此方法。自定義覆蓋物時需要實現此方法。自定義覆蓋物時需要將覆蓋物對應的HTML元素返回 |
isVisible() | Boolean | 判斷覆蓋物是否可見 |
draw() | none | 抽象方法,當地圖狀態發生變化時,由系統調用對覆蓋物進行繪製。自定義覆蓋物需要實現此方法 |
show() | none | 顯示覆蓋物。對於自定義覆蓋物,此方法會自動將initialize方法返回的HTML元素樣式的display屬性設置爲空 |
hide() | none | 隱藏覆蓋物。對於自定義覆蓋物,此方法會自動將initialize方法返回的HTML元素樣式的display屬性設置爲none |
Marker:此類表示地圖上一個圖像標註。(常用)
圖層事件使用方式:例子
marker.addEventListener("rightclick", function (e) {
alert("鼠標右鍵操作");
});
//鼠標經過圖層時的操作
marker.addEventListener("mouseover", function (e) {
//要做的事情
});
//鼠標離開圖層後的操作
marker.addEventListener("mouseout", function (e) {
//要做的事情
});
API:
構造函數 | 描述 |
Marker(point: Point, opts: MarkerOptions) | 創建一個圖像標註實例。point參數指定了圖像標註所在的地理位置 |
方法 | 返回值 | 描述 |
openInfoWindow(infoWnd: InfoWindow) | none | 打開信息窗 |
closeInfoWindow() | none | 關閉信息窗 |
setIcon(icon: Icon) | none | 設置標註所用的圖標對象 |
getIcon() | Icon | 返回標註所用的圖標對象 |
setPosition(position: Point) | none | 設置標註的地理座標 |
getPosition() | Point | 返回標註的地理座標 |
setOffset(offset: Size) | none | 設置標註的偏移值 |
getOffset() | Size | 返回標註的偏移值 |
getLabel() | Label | 返回標註的文本標註 |
setLabel(label: Label) | none | 爲標註添加文本標註 |
setTitle(title: String) | none | 設置標註的標題,當鼠標移至標註上時顯示此標題 |
getTitle() | String | 返回標註的標題 |
setTop(isTop: Boolean) | none | 將標註置於其他標註之上。默認情況下,緯度較低的標註會覆蓋在緯度較高的標註之上,從而形成一種立體效果。通過此方法可使某個標註覆蓋在其他所有標註之上。注意:如果在多個標註對象上調用此方法,則這些標註依舊按照緯度產生默認的覆蓋效果 |
enableDragging() | none | 開啓標註拖拽功能 |
disableDragging() | none | 關閉標註拖拽功能 |
enableMassClear() | none | 允許覆蓋物在map.clearOverlays方法中被清除 |
disableMassClear() | none | 禁止覆蓋物在map.clearOverlays方法中被清除 |
setZIndex(zIndex: Number) | none | 設置覆蓋物的zIndex |
getMap() | Map | 返回覆蓋物所在的map對象 |
addContextMenu(menu: ContextMenu) | none | 添加右鍵菜單 |
removeContextMenu(menu: ContextMenu) | none | 移除右鍵菜單 |
setAnimation(animation: Animation | Null) | none | 設置標註動畫效果。如果參數爲null,則取消動畫效果。該方法需要在addOverlay方法後設置 |
setRotation(rotation: Number) | none | 設置點的旋轉角度 |
getRotation() | Number | 獲取點的旋轉角度 |
setShadow(shadow: Icon) | none | 設置標註陰影圖標 |
getShadow() | Icon | 獲取標註陰影圖標 |
addEventListener(event: String, handler: Function) | none | 添加事件監聽函數 |
removeEventListener(event: String, handler: Function) | none | 移除事件監聽函數 |
Label:此類表示地圖上的文本標註。(常用)
API:
構造函數 | 描述 |
Label(content: String, opts: LabelOptions) | 創建一個文本標註實例。point參數指定了文本標註所在的地理位置 |
方法 | 返回值 | 描述 |
setStyle(styles: Object) | none | 設置文本標註樣式,該樣式將作用於文本標註的容器元素上。其中styles爲JavaScript對象常量,比如: setStyle({ color : "red", fontSize : "12px" }) 注意:如果css的屬性名中包含連字符,需要將連字符去掉並將其後的字母進行大寫處理,例如:背景色屬性要寫成:backgroundColor |
setContent(content: String) | none | 設置文本標註的內容。支持HTML |
setPosition(position: Point) | none | 設置文本標註座標。僅當通過Map.addOverlay()方法添加的文本標註有效 |
getPosition() | Point | 獲取Label的地理座標 |
setOffset(offset: Size) | none | 設置文本標註的偏移值 |
getOffset() | Size | 返回文本標註的偏移值 |
setTitle(title: String) | none | 設置文本標註的標題,當鼠標移至標註上時顯示此標題 |
getTitle() | String | 返回文本標註的標題 |
enableMassClear() | none | 允許覆蓋物在map.clearOverlays方法中被清除 |
disableMassClear() | none | 禁止覆蓋物在map.clearOverlays方法中被清除 |
setZIndex(zIndex: Number) | none | 設置覆蓋物的zIndex |
setPosition(position: Point) | none | 設置地理座標 |
getMap() | Map | 返回覆蓋物所在的map對象 |
addEventListener(event: String, handler: Function) | none | 添加事件監聽函數 |
removeEventListener(event: String, handler: Function) | none | 移除事件監聽 |
事件 | 參數 | 描述 |
click | event{type, target} | 點擊文本標註後會觸發此事件 |
dblclick | event{type, target} | 雙擊文本標註後會觸發此事件 |
mousedown | event{type, target} | 鼠標在文本標註上按下觸發此事件 |
mouseup | event{type, target} | 鼠標在文本標註釋放觸發此事件 |
mouseout | event{type, target} | 鼠標離開文本標註時觸發此事件 |
mouseover | event{type, target} | 當鼠標進入文本標註區域時會觸發此事件 |
remove | event{type, target} | 移除文本標註時觸發 |
rightclick | event{type, target} | 右鍵點擊標註時觸發此事件 |
Icon:此類表示標註覆蓋物所使用的圖標。(常用)
構造函數 | 描述 |
Icon(url: String, size: Size, opts: IconOptions) | 以給定的圖像地址和大小創建圖標對象實例 |
屬性 | 類型 | 描述 |
anchor | Size | 圖標的定位點相對於圖標左上角的偏移值 |
size | Size | 圖標可視區域的大小 |
imageOffset | Size | 圖標所用的圖片相對於可視區域的偏移值,此功能的作用等同於CSS中的background-position屬性 |
imageSize | Size | 圖標所用的圖片的大小,此功能的作用等同於CSS中的background-size屬性。可用於實現高清屏的高清效果 |
imageUrl | String | 圖標所用圖像資源的位置 |
infoWindowAnchor | Size | 信息窗口開啓位置相對於圖標左上角的偏移值 |
printImageUrl | String | 設置icon打印圖片的url,該打印圖片只針對IE6有效,解決IE6使用PNG濾鏡導致的錯位問題。如果您的icon沒有使用PNG格式圖片或者沒有使用CSS Sprites技術,則可忽略此配置 |
方法 | 返回值 | 描述 |
setImageUrl(imageUrl: String) | none | 設置圖片資源的地址 |
setSize(size: Size) | none | 設置圖標可視區域的大小 |
setImageSize(offset: Size) | none | 設置圖標的大小 |
setAnchor(anchor: Size) | none | 設置圖標定位點相對於其左上角的偏移值 |
setImageOffset(offset: Size) | none | 設置圖片相對於可視區域的偏移值 |
setInfoWindowAnchor(anchor: Size) | none | 設置信息窗口開啓位置相對於圖標左上角的偏移值 |
setPrintImageUrl(url: String) | none | 設置icon的打印圖片,該打印圖片只針對IE6有效,解決IE6使用PNG濾鏡導致的錯位問題。如果您的icon沒有使用PNG格式圖片或者沒有使用CSS Sprites技術,則可忽略此配置 |
Point: 此類表示一個地理座標點。(常用)
構造函數 | 描述 |
Point(lng: Number, lat: Number) | 以指定的經度和緯度創建一個地理點座標 |
屬性 | 類型 | 描述 |
lng | Number | 地理經度 |
lat | Number | 地理緯度 |
方法 | 返回值 | 描述 |
equals(other: Point) | Boolean | 判斷座標點是否相等,當且僅當兩點的經度和緯度均相等時返回true |
Bounds: 此類表示地理座標的矩形區域。
構造函數 | 描述 |
Bounds(sw: Point, ne: Point) | 創建一個包含所有給定點座標的矩形區域。其中sw表示矩形區域的西南角,參數ne表示矩形區域的東北角 |
方法 | 返回值 | 描述 |
equals(other: Bounds) | Boolean | 當且僅當此矩形中的兩點參數都等於其他矩形的兩點參數時,返回true |
containsPoint(point: Point) | Boolean | 如果點的地理座標位於此矩形內,則返回true |
containsBounds(bounds: Bounds) | Boolean | 傳入的矩形區域完全包含於此矩形區域中,則返回true |
intersects(other: Bounds) | Bounds | 計算與另一矩形的交集區域 |
extend(point: Point) | none | 放大此矩形,使其包含給定的點 |
getCenter() | Point | 返回矩形的中心點 |
isEmpty() | Boolean | 如果矩形爲空,則返回true |
getSouthWest() | Point | 返回矩形區域的西南角 |
getNorthEast() | Point | 返回矩形區域的東北角 |
toSpan() | Point | 返回矩形區域的跨度 |
Size: 此類以像素表示一個矩形區域的大小。
構造函數 | 描述 |
Size(width: Number, height: Number) | 以指定的寬度和高度創建一個矩形區域大小對象 |
屬性 | 類型 | 描述 |
width | Number | 水平方向的數值 |
height | Number | 豎直方向的數值 |
方法 | 返回值 | 描述 |
equals(other: Size) | Boolean | 當且僅當此矩形中的寬度和高度都等於其他矩形的寬度和高度時,返回true |
Polyline: 使用瀏覽器的矢量製圖工具(如果可用)在地圖上繪製折線的地圖疊加層。
構造函數 | 描述 |
Polyline(points: Array<Point>, opts: PolylineOptions) | 創建折線覆蓋物對象 |
方法 | 返回值 | 描述 |
setPath(path: Array<Point>) | none | 設置折線的點數組 |
getPath() | Array<Point> | 返回折線的點數組 |
setStrokeColor(color: String) | none | 設置折線的顏色 |
getStrokeColor() | String | 返回折線的顏色 |
setStrokeOpacity(opacity: Number) | none | 設置透明度,取值範圍0 - 1 |
getStrokeOpacity() | Number | 返回透明度 |
setStrokeWeight(weight: Number) | none | 設置線的寬度,範圍爲大於等於1的整數 |
getStrokeWeight() | Number | 返回線的寬度 |
setStrokeStyle(style: String) | none | 設置是爲實線或虛線,solid或dashed |
getStrokeStyle() | String | 返回當前線樣式狀態,實線或者虛線 |
getBounds() | Bounds | 返回覆蓋物的地理區域範圍 |
enableEditing() | none | 開啓編輯功能 |
disableEditing() | none | 關閉編輯功能 |
enableMassClear() | none | 允許覆蓋物在map.clearOverlays方法中被清除 |
disableMassClear() | none | 禁止覆蓋物在map.clearOverlays方法中被清除 |
setPositionAt(index: Number, point: Point) | none | 修改指定位置的座標。索引index從0開始計數。例如setPointAt(2, point)代表將折線的第3個點的座標設爲point |
getMap() | Map | 返回覆蓋物所在的map對象 |
addEventListener(event: String, handler: Function) | none | 添加事件監聽函數 |
removeEventListener(event: String, handler: Function) | none | 移除事件監聽函數 |
事件 | 參數 | 描述 |
click | event{type, target, point, pixel} | 點擊折線後會觸發此事件 |
dblclick | event{type, target, point, pixel} | 雙擊折線後會觸發此事件 |
mousedown | event{type, target, point, pixel} | 鼠標在折線上按下觸發此事件 |
mouseup | event{type, target, point, pixel} | 鼠標在折線釋放觸發此事件 |
mouseout | event{type, target, point, pixel} | 鼠標離開折線時觸發此事件 |
mouseover | event{type, target, point, pixel} | 當鼠標進入折線區域時會觸發此事件 |
remove | event{type, target} | 移除折線時觸發 |
lineupdate | event{type, target} | 覆蓋物的屬性發生變化時觸發 |
PolylineOptions
此類表示Polyline構造函數的可選參數。它沒有構造函數,但可通過對象字面量形式表示。
屬性 | 類型 | 描述 |
strokeColor | String | 折線顏色 |
strokeWeight | Number | 折線的寬度,以像素爲單位 |
strokeOpacity | Number | 折線的透明度,取值範圍0 - 1 |
strokeStyle | String | 折線的樣式,solid或dashed |
enableMassClear | Boolean | 是否在調用map.clearOverlays清除此覆蓋物,默認爲true |
enableEditing | Boolean | 是否啓用線編輯,默認爲false |
enableClicking | Boolean | 是否響應點擊事件,默認爲true |
icons | Array<IconSequence> | 配置貼合折線的圖標 |
Polygon 此類表示一個多邊形覆蓋物。
構造函數 | 描述 |
Polygon(points: Array<Point>, opts: PolygonOptions) | 創建多邊形覆蓋物 |
方法 | 返回值 | 描述 |
setPath(path: Array<Point>) | none | 設置多邊型的點數組 |
getPath() | Array<Point> | 返回多邊型的點數組 |
setStrokeColor(color: String) | none | 設置多邊型的邊線顏色,參數爲合法的CSS顏色值 |
getStrokeColor() | String | 返回多邊型的邊線顏色 |
setFillColor(color: String) | none | 設置多邊形的填充顏色,參數爲合法的CSS顏色值。當參數爲空字符串時,折線覆蓋物將沒有填充效果 |
getFillColor() | String | 返回多邊形的填充顏色 |
setStrokeOpacity(opacity: Number) | none | 設置多邊形的邊線透明度,取值範圍0 - 1 |
getStrokeOpacity() | Number | 返回多邊形的邊線透明度 |
setFillOpacity(opacity: Number) | none | 設置多邊形的填充透明度,取值範圍0 - 1 |
getFillOpacity() | Number | 返回多邊形的填充透明度 |
setStrokeWeight(weight: Number) | none | 設置多邊形邊線的寬度,取值爲大於等於1的整數 |
getStrokeWeight() | Number | 返回多邊形邊線的寬度 |
setStrokeStyle(style: String) | none | 設置多邊形邊線樣式爲實線或虛線,取值solid或dashed |
getStrokeStyle() | String | 返回多邊形邊線樣式 |
getBounds() | Bounds | 返回覆蓋物的地理區域範圍 |
enableEditing() | none | 開啓編輯功能 |
disableEditing() | none | 關閉編輯功能 |
enableMassClear() | none | 允許覆蓋物在map.clearOverlays方法中被清除 |
disableMassClear() | none | 禁止覆蓋物在map.clearOverlays方法中被清除 |
setPositionAt(index: Number, point: Point) | none | 修改指定位置的座標。索引index從0開始計數。例如setPositionAt(2, point)代表將折線的第3個點的座標設爲point |
getMap() | Map | 返回覆蓋物所在的map對象 |
addEventListener(event: String, handler: Function) | none | 添加事件監聽函數 |
removeEventListener(event: String, handler: Function) | none | 移除事件監聽函數 |
事件 | 參數 | 描述 |
click | event{type, target, point, pixel} | 點擊多邊形後會觸發此事件 |
dblclick | event{type, target, point, pixel} | 雙擊多邊形後會觸發此事件 |
mousedown | event{type, target, point, pixel} | 鼠標在多邊形上按下觸發此事件 |
mouseup | event{type, target, point, pixel} | 鼠標在多邊形釋放觸發此事件 |
mouseout | event{type, target, point, pixel} | 鼠標離開多邊形時觸發此事件 |
mouseover | event{type, target, point, pixel} | 當鼠標進入多邊形區域時會觸發此事件 |
remove | event{type, target} | 移除多邊形時觸發 |
lineupdate | event{type, target} | 覆蓋物的屬性發生變化時觸發 |
PolygonOptions
此類表示Polygon構造函數的可選參數。它沒有構造函數,但可通過對象字面量形式表示。
屬性 | 類型 | 描述 |
strokeColor | String | 邊線顏色 |
fillColor | String | 填充顏色。當參數爲空時,折線覆蓋物將沒有填充效果 |
strokeWeight | Number | 邊線的寬度,以像素爲單位 |
strokeOpacity | Number | 邊線透明度,取值範圍0 - 1 |
fillOpacity | Number | 填充的透明度,取值範圍0 - 1 |
strokeStyle | String | 邊線的樣式,solid或dashed |
enableMassClear | Boolean | 是否在調用map.clearOverlays清除此覆蓋物,默認爲true |
enableEditing | Boolean | 是否啓用線編輯,默認爲false |
enableClicking | Boolean | 是否響應點擊事件,默認爲true |
Circle 此類表示地圖上的圓覆蓋物。
構造函數 | 描述 |
Circle(center: Point, radius: Number, opts: CircleOptions) | 創建圓覆蓋物 |
方法 | 返回值 | 描述 |
setCenter(center: Point) | none | 設置圓形的中心點座標 |
getCenter() | Point | 返回圓形的中心點座標 |
setRadius(radius: Number) | none | 設置圓形的半徑,單位爲米 |
getRadius() | Number | 返回圓形的半徑,單位爲米 |
getBounds() | Bounds | 返回圓形的地理區域範圍 |
setStrokeColor(color: String) | none | 設置圓形的邊線顏色,參數爲合法的CSS顏色值 |
getStrokeColor() | String | 返回圓形的邊線顏色 |
setFillColor(color: String) | none | 設置圓形的填充顏色,參數爲合法的CSS顏色值。當參數爲空字符串時,圓形覆蓋物將沒有填充效果 |
getFillColor() | String | 返回圓形的填充顏色 |
setStrokeOpacity(opacity: Number) | none | 設置圓形的邊線透明度,取值範圍0 - 1 |
getStrokeOpacity() | Number | 返回圓形的邊線透明度 |
setFillOpacity(opacity: Number) | none | 設置圓形的填充透明度,取值範圍0 - 1 |
getFillOpacity() | Number | 返回圓形的填充透明度 |
setStrokeWeight(weight: Number) | none | 設置圓形邊線的寬度,取值爲大於等於1的整數 |
getStrokeWeight() | Number | 返回圓形邊線的寬度 |
setStrokeStyle(style: String) | none | 設置圓形邊線樣式爲實線或虛線,取值solid或dashed |
getStrokeStyle() | String | 返回圓形邊線樣式 |
enableEditing() | none | 開啓編輯功能 |
disableEditing() | none | 關閉編輯功能 |
enableMassClear() | none | 允許覆蓋物在map.clearOverlays方法中被清除 |
disableMassClear() | none | 禁止覆蓋物在map.clearOverlays方法中被清除 |
getMap() | Map | 返回覆蓋物所在的map對象 |
addEventListener(event: String, handler: Function) | none | 添加事件監聽函數 |
removeEventListener(event: String, handler: Function) | none | 移除事件監聽函數 |
事件 | 參數 | 描述 |
click | event{type, target, point, pixel} | 鼠標點擊圓形後會觸發此事件 |
dblclick | event{type, target, point, pixel} | 鼠標雙擊圓形後會觸發此事件 |
mousedown | event{type, target, point, pixel} | 鼠標在圓形上按下觸發此事件 |
mouseup | event{type, target, point, pixel} | 鼠標在圓形釋放觸發此事件 |
mouseout | event{type, target, point, pixel} | 鼠標離開圓形時觸發此事件 |
mouseover | event{type, target, point, pixel} | 當鼠標進入圓形區域時會觸發此事件 |
remove | event{type, target} | 移除圓形時觸發此事件 |
lineupdate | event{type, target} | 圓形覆蓋物的屬性發生變化時觸發此事件 |
CircleOptions
Circle類構造函數的可選參數。它沒有構造函數,但可通過對象字面量形式表示。
屬性 | 類型 | 描述 |
strokeColor | String | 圓形邊線顏色 |
fillColor | String | 圓形填充顏色。當參數爲空時,圓形將沒有填充效果 |
strokeWeight | Number | 圓形邊線的寬度,以像素爲單位 |
strokeOpacity | Number | 圓形邊線透明度,取值範圍0 - 1 |
fillOpacity | Number | 圓形填充的透明度,取值範圍0 - 1 |
strokeStyle | String | 圓形邊線的樣式,solid或dashed |
enableMassClear | Boolean | 是否在調用map.clearOverlays清除此覆蓋物,默認爲true |
enableEditing | Boolean | 是否啓用線編輯,默認爲false |
enableClicking | Boolean | 是否響應點擊事件,默認爲true |
右鍵菜單類
ContextMenu 此類表示右鍵菜單。您可以在地圖上添加自定義內容的右鍵菜單。
構造函數 | 描述 |
ContextMenu() | 創建一個右鍵菜單實例 |
方法 | 返回值 | 描述 |
addItem(item: MenuItem) | none | 添加菜單項 |
getItem(index: Number) | MenuItem | 返回指定索引位置的菜單項,第一個菜單項的索引爲0 |
removeItem(item: MenuItem) | none | 移除菜單項 |
addSeparator() | none | 添加分隔符 |
removeSeparator(index: Number) | none | 移除指定索引位置的分隔符,第一個分隔符的索引爲0 |
事件 | 參數 | 描述 |
open | event{type, target, point, pixel} | 右鍵菜單打開時觸發,事件參數point和pixel分別表示菜單開啓時的地理和像素座標點 |
close | event{type, target, point, pixel} | 右鍵菜單關閉時觸發,事件參數point和pixel分別表示菜單開啓時的地理和像素座標點 |
MenuItem 此類表示一個菜單項。
構造函數 | 描述 |
MenuItem(text: String, callback: Function, opts: MenuItemOptions) | 創建一個菜單項。當菜單項被點擊時,系統將會以當前菜單彈出的地理座標點作爲參數調用回調函數callback |
方法 | 返回值 | 描述 |
setText(text: String) | none | 設置菜單項顯示的文本 |
setIcon(iconUrl: String) | none | 設置菜單項的icon |
enable() | none | 啓用菜單項 |
disable() | none | 禁用菜單項 |
MenuItemOptions 此類表示MenuItem構造函數的可選參數。它沒有構造函數,但可通過對象字面量形式表示。
屬性 | 類型 | 描述 |
width | Number | 指定此菜單項的寬度,菜單以最長的菜單項寬度爲準 |
id | String | 指定此菜單項dom的id |
iconUrl | String | ContextMenuIcon | 指定此菜單項的icon URL(大小爲17px*17px) |