全網最全leafLetAPI中文版

Leaflet是由 Vladimir Agafonkin 帶領一個專業貢獻者團隊開發,官方文檔是英文的。

Leaflet設計堅持簡便、高性能和可用性好的思想,在所有主要桌面和移動平臺能高效運作,在現代瀏覽器上會利用HTML5和CSS3的優勢,同時也支持舊的瀏覽器訪問。支持插件擴展,有一個友好、易於使用的API文檔和一個簡單的、可讀的源代碼。
它是一個爲建設移動設備友好的互動地圖,而開發的現代的、開源的 JavaScript 庫。
雖然代碼僅有 33 KB,但它具有開發人員開發在線地圖的大部分功能。

本文是本人因項目需要,網絡收集的資料,分享一下。


官方文檔

LeafLet js 官網: http://leafletjs.com/examples.html
LeafLet js 官網demo: http://leafletjs.com/examples.html
LeafLet js 官網API: http://leafletjs.com/reference-1.3.0.html


中文API

L.Map

API各種類中的核心部分,用來在頁面中創建地圖並操縱地圖。

Constructor(構造器)

通過div元素和帶有地圖選項的描述的文字對象來實例化一個地圖對象,其中文字對象是可選的。

Options(選項)

Map State Options(地圖狀態選項)
centre(中心):初始化地圖的地理中心。
zoom(縮放):初始化地圖的縮放。
layers(圖層):初始化後加載到地圖上的圖層。
minZoom(最小視圖):地圖的最小視圖。可以重寫地圖圖層的最小視圖。
maxZoom(最大視圖):地圖的最大視圖。可以重寫地圖圖層的最大視圖。
maxBounds(最大邊界):當這個選項被設置後,地圖被限制在給定的地理邊界內,當用戶平移將地圖拖動到視圖以外的範圍時會出現彈回的效果,並且也不允許縮小視圖到給定範圍以外的區域(這取決於地圖的尺寸)。使用setMaxBounds方法可以動態地設置這種約束。
crs(座標參考系統):使用的座標系,當你不確定座標系是什麼時請不要更改。

Interaction Options(交互操作)

dragging(拖動):決定地圖是否可被鼠標或觸摸拖動。
touchZoom(觸摸縮放):決定地圖是否可被兩隻手指觸摸拖拽縮放。
scrollWheelZoom(滾輪縮放):決定地圖是否被被鼠標滾輪滾動縮放。
doubleClickZoom(雙擊縮放):決定地圖是否可被雙擊縮放。
boxZoom(多邊形縮放):決定地圖是否可被縮放到鼠標拖拽出的矩形的視圖,鼠標拖拽時需要同時按住shift鍵。
trackResize(追蹤尺寸改變):確定地圖在窗口尺寸改變時是否可以自動處理瀏覽器以更新視圖。
worldCopyJump(領域副本跳轉):當這個選項可用時,當你平移地圖到其另一個領域時會被地圖捕獲到,並無縫地跳轉到原始的領域以保證所有標註、矢量圖層之類的覆蓋物仍然可見。
closePopupOnClick(點擊關閉消息彈出框):當你不想用戶點擊地圖關閉消息彈出框時,請將其設置爲false。

Keyboard Navigation Options(鍵盤操縱選項)

keyboard(鍵盤):聚焦到地圖且允許用戶通過鍵盤的方向鍵和加減鍵來漫遊地圖。
keyboardPanOffset(鍵盤平移補償):確定按鍵盤方向鍵時地圖平移的像素。
keyboardZoomOffset(鍵盤縮放補償):確定鍵盤加減鍵對於的縮放級數。
Panning Inertia Options(平移慣性選項)
inertia(慣性):如果該選項可用,在拖動和在某一時間段內持續朝同一方向移動建有動力的地圖時,會有慣性的效果。
inertiaDeceleration(慣性減速):確定慣性移動減速的速率,單位是像素每秒的二次方。
inertiaMaxSpeed(慣性最大速度):慣性移動的最大速度,單位是像素每秒。
inertiaThreshold(慣性閾值):放開鼠標或是觸摸來停止慣性移動與移動停止之間的毫秒數。

Control options(控制選項)

zoomControl(縮放控制):確定縮放控制是否默認加載在地圖上。
attributionControl(屬性控制):確定屬性控制是否默認加載在地圖上。
Animation options(動畫選項)
fadeAnimation(淡出動畫):確定瓦片淡出動畫是否可用。通常默認在所有瀏覽器中都支持CSS3轉場,android例外。
zoomAnimation(縮放動畫):確定瓦片縮放動畫是否可用。通常默認在所有瀏覽器中都支持CSS3轉場,android例外。
markerZoomAnimation(註記縮放動畫):確定註記的縮放是否隨地圖縮放動畫而播放,如果被禁用,註記在動畫中拉長時會消失。通常默認在所有瀏覽器中都支持CSS3轉場,android例外。

Events(事件)

click(點擊):用戶點擊或觸摸地圖時觸發。
dbclick(雙擊):用戶雙擊或連續兩次觸摸地圖時觸發。
mousedown(鼠標按下):用戶按下鼠標按鍵時觸發。
mouseup(鼠標擡起):用戶按下鼠標按鍵時觸發。
mouseover(鼠標經過):鼠標進入地圖時觸發。
mouseout(鼠標移出):鼠標離開地圖時觸發。
mousemove(鼠標移動):鼠標在地圖上移動時觸發。
contextmenu(情景菜單):當用戶在地圖上按下鼠標右鍵時觸發,如果有監聽器在監聽這個時間,則瀏覽器默認的情景菜單被禁用。
focus(聚焦):當用戶在地圖上進行標引、點擊或移動時進行聚焦。
blur(變暗):當地圖失去焦點時觸發。
preclick(預先點擊):當鼠標在地圖上點擊之前觸發。有時會在點擊鼠標時,並在已存在的點擊事件開始處理之前想要某件事情發生時用得到。
load(載入):當地圖初始化時觸發。(當地圖的中心點和縮放初次設置時)
viewreset(視圖重置):當地圖需要重繪內容時觸發。(通常在地圖縮放和載入時發生)這對於創建用戶自定義的疊置圖層非常有用。
movestart(移動開始):地圖視圖開始改變時觸發。(比如用戶開始拖動地圖)
move(移動):所有的地圖視圖移動時觸發。
moveend(移動結束):當地圖視圖結束改變時觸發。(比如用戶停止拖動地圖)
dragstart(拖動開始):用戶開始拖動地圖時觸發。
drag(拖動):用戶拖動地圖時不斷重複地觸發。
dragend(拖動結束):用戶停止拖動時觸發。
zoomstart(縮放開始):當地圖縮放即將發生時觸發。(比如縮放動作開始前)
zoomend(縮放結束):當地圖縮放時觸發。
autopanstart(自動平移開始):打開彈出窗口時地圖開始自動平移時觸發。
layeradd(添加圖層):當一個新的圖層添加到地圖上時觸發。
layerremove(圖層移除):當一些圖層從地圖上移除時觸發。
baselayerchange(基礎圖層改變):當通過圖層控制檯改變基礎圖層時觸發。
locationfound(位置查找):當地理尋址成功時觸發(使用locate方法)。
locationerror(定位錯誤):當地理尋址錯誤時觸發(使用locate方法)。
popupopen(打開彈出框):當彈出框打開時觸發(使用openPopup方法)。
popupclose(關閉彈出框):當彈出框關閉時觸發(使用closePopup方法)。

Methods for Modifying Map State(地圖狀態修改)

setView(設定視圖):設定地圖(設定其地理中心和縮放),如果forceReset設置的是true,即使移動和縮放動作是合理的,地圖也會重載,其默認值是fault。
setZoom(設定縮放):設定地圖的縮放。
zoomIn(放大):通過delta變量放大地圖的級別,1是delta的默認值。
zoomOut(縮小):通過delta變量縮小地圖的級別,1是delta的默認值。
fitBounds(使適合邊界):將地圖視圖儘可能大地設定在給定的地理邊界內。
fitWorld(使適合地域範圍):將地圖視圖儘可能大地設定在包含全部地域的級別上。
panTo(平移至中心點):將地圖平移到給定的中心。如果新的中心點在屏幕內與現有的中心點不同則產生平移動作。
panInsideBounds(平移到某邊界內):平移地圖到坐落於給定邊界最接近的視圖內。
panBy(通過像素點平移):通過給定的像素值對地圖進行平移。
invalidateSize(無效的大小):檢查地圖容器的大小是否改變並更新地圖,如果是這樣的話,在動態改變地圖大小後調用,如果animate是true的話,對地圖進行更新。
setMaxBounds(設置最大邊界):將地圖限定在給定的邊界內。
locate(定位):用地理定位接口獲取用戶位置信息,在成功定位或定位出錯產生locationerror後解除location-found事件與定位數據,且將地圖視圖設定到檢測的確切的用戶的位置(如果定位失敗則回到地域視圖)。在Location Options中有更多詳細內容。
stopLocation(停止定位):開始map.locate方法時停止預先檢測位置信息。
Methods for Getting Map State(獲取地圖狀態)
getCenter(獲取地圖中心):返回地圖視圖的地理中心。
getZoom(獲取縮放級別):獲取地圖視圖現在所處的縮放級別。
getMixZoom(獲取最小縮放級別):返回地圖最小的縮放級別。
getMaxZoom(獲取最大縮放級別):返回地圖最大的縮放級別。
getBounds(獲取邊界):返回地圖視圖的經緯度邊界。
getBoundsZoom(獲取邊界縮放級別):返回適應整個地圖視圖邊界的最大縮放級別。如果inside的設置時true,這個方法返回適應整個地圖視圖邊界的最小縮放級別。
getSize(獲取大小):返回現有地圖容器的大小。
getPixelBounds(獲取像素邊界):返回地圖視圖在像素投影座標系下的邊界。(很多時候對用戶自定義圖層和疊加很有用)
getPixelOrigin(獲取像素原點):返回地圖圖層像素投影座標系下的左上角的點。(很多時候對用戶自定義圖層和疊加很有用)

Methods for Layers and Controls(圖層控制)

addlayer(添加圖層):將圖層添加到地圖上。如果insertAtTheBottom的選項爲true,圖層添加時在所以圖層之下。(在切換基底圖時比較有用)
removelayer(移除圖層):將圖層在地圖上移除。
haslayer(是否有此圖層):如果添加的圖層是當前圖層則返回true。
openPopup(打開彈出框):當關閉前一個彈出框時彈出指定的對話框。(確定在同一時間只有一個打開並可用)
closePopup(關閉彈出框):關閉openPopup打開的彈出框。
addControl(添加控制):在地圖上添加控制選項。
removeControl(移除控制):在地圖上移除控制選項。

Conversion Methods(轉換方法)

latlngToLayerPoint(將經緯度添轉變爲圖層上的點):返回地圖圖層上與地理座標相一致的點。(在地圖上進行位置疊加時比較有用)
layerPointToLatLng(將圖層上的點轉換爲經緯度點):返回給定地圖上點的地理座標系。
containerPointToLayerPoint(容器點到圖層點):將於地圖容器相關的點轉換爲地圖圖層相關的點。
layerPointToContainerPoint(圖層點到容器點):將地圖圖層相關的點轉換爲地圖容器相關的點。
LatLngToContainerPoint(經緯度點到容器點):返回與給定地理座標系相符的地圖容器的點。
containerPointToLatLng(容器點轉換爲經緯度點):返回給定地理容器點的地理座標。
project(投影):將地理座標投影到指定縮放級別的像素座標系中。
unproject(反投影):將像素座標系投影到指定縮放級別的地理座標系中。(默認爲當前的縮放級別)
mouseEventToContainerPoint(鼠標點擊事件到地圖容器點):返回鼠標點擊事件對象的像素座標(與地圖左上角相關)。
mouseEventToLayerPoint(鼠標點擊事件到地圖容器點):返回鼠標點擊事件對象的像素座標(與地圖圖層相關)。
mouseEventToLatLng(鼠標點擊事件到經緯度點):返回鼠標點擊事件對象的地理座標。

Other Methods(其他方法)

getContainer(獲取容器):返回地圖容器對象。
getPanes(獲取地圖邊框):返回不同地圖對象的邊框(疊加渲染)
whenReady(準備就緒):當地圖的位置和縮放初始化好或是時間發生之後,運行給定的回調方法,通常傳遞一個函數內容。

Locate options(位置選項)

watch(監聽):如果該值爲真,則開始利用W3C的watchPosition方法監聽位置變化情況(而不是指監聽一次)。你可以通過map.stoplocate()方法來停止監聽。
setView(設置視圖):如果該值爲真,則通過自動將地圖視圖定位到用戶一定精度範圍內的位置,如果地理定位失敗則顯示全部地圖。
maxZoom(最大級別):在使用setView選項時視圖縮放的最大級別。
timeout(超時):在觸發locationerror事件之前等待地理定位的毫秒爲單位的時間。
maximumAge(最大生命週期):位置監聽的最大生命週期。如果比最後定位回覆後毫秒用時短,則locate返回一個緩存位置。
enableHighAccuracy(開啓高精度):開啓高精度,參加W3C SPEC的描述。

Properties(屬性)

地圖屬性包括互動操作,允許你在運行環境中互動地控制地圖行爲,比如通過拖拽和點擊縮放級別顯示和不顯示某要素。
你也可以通過地圖屬性來接受默認的地圖控制項,比如屬性控制。

dragging(拖拽):地圖拖拽處理程序,可以通過鼠標和觸摸的形式。
touchZoom(觸摸縮放按鈕):觸摸地圖縮放處理程序。
doubleClickZoom(雙擊縮放):雙擊縮放處理程序。
scrollWheelZoom(滾動縮放):滾動縮放處理程序。
boxZoom(矩形框縮放):矩形框(利用鼠標拖動)縮放處理程序。
keyboard(鍵盤):鍵盤導向處理程序。
zoomControl(縮放控制):縮放控制。
attributionControl(屬性控制):屬性控制。
Map Panes(地圖窗口)
望文思義,這是一個包括可以用來放置自定義圖層的不同的地圖窗口的對象。最大的區別是圖層的疊置。
mapPane(地圖窗口):包含其他地圖窗口的窗口。
tilePane(切片窗口):切片圖層的窗口。
objectsPane(對象窗口):包含除切片窗口以外所有窗口的窗口。
shadowPane(隱含窗口):用來隱藏圖層的窗口(如標註的隱藏)。
overlayPane(圖層窗口):這線段和多邊形一類圖層的窗口。
markerPane(標註窗口):標註圖標的窗口。
popupPane(彈出窗口):彈出的窗口。


L.Marker

用來在地圖中放置註記。

Constructor(構造函數)

L.Marker():通過給定一個地理點和一個具有選項的對象來實例化一個註記。

Options(選項)

icon(圖標):圖標類用來表達註記。參加Icon documentation以瞭解自定義註記圖標的詳細信息。默認設置爲new L.Icon.Default()。
clickable(可點擊):如果是false,註記則不產生鼠標事件並表現爲底層地圖的一部分。
draggable(可拖動):決定註記是否可被鼠標或觸摸拖動。
title(標題):註記旁邊顯示瀏覽器提示的文本信息。
zIndexOffset():默認情況下,註記圖片的疊置順序由緯度自動設置。如果你想將某一註記放置於其他之上可用這個選項,設置一個較大的值即可,比如1000(或是相反地設置一個較大的負值)。
opacity(不透明度):決定註記的不透明度。
riseOnHover(凸顯):如果此值爲true,則當把鼠標放置於註記之上時,註記會顯示與其他註記之上。
riseOffset(凸顯補償):riseOnHover要素凸顯時高度的補償值。
Events(事件)

click(點擊):當鼠標點擊註記時觸發。

dbclick(雙擊):當鼠標雙擊註記時觸發。
mousedown(鼠標按下):當鼠標按下鼠標鍵時觸發。
mouseover(鼠標置於其上):當鼠標在註記上時觸發。
mouseout(鼠標移出):當鼠標離開註記時觸發。
contextmenu(文本菜單):當鼠標右擊註記時觸發。
dragstrat(拖動開始):當用戶拖動註記時觸發。
drag(拖動):當用戶拖動註記時不斷觸發。
dragend(拖動結束):當用戶停止拖動註記時觸發。
move(移動):當註記通過定義經緯度而移動時觸發。新的座標包含事件參數。
remove(刪除):當註記在地圖上被刪除時觸發。

Methods(方法)

addTo():在地圖上添加註記。
getLatLng():返回當前註記的地理位置。
setLatLng():將註記位置更改到給定點。
setIcon():更改註記的圖標。
setZIndexOffset():更改註記的zIndex offset。
setOpacity():更改註記的透明度。
update():更新註記的位置,在直接更改經緯度對象的座標時比較有用。
bindPopup():當點擊一個註記時綁定一個特定的HTML內容的彈出窗口。你也可以用Marker中的openPopup方法打開綁定的彈出窗口。
unbindPopup():將先前用bindPopup方法綁定的註記取消。
openPopup():打開先前用bindPopup方法綁定的彈出框。
closePopup():關閉已打開的註記的彈出框。
Interaction handlers(互操作處理程序)
dragging(拖動):註記拖動處理程序(包括鼠標和觸摸)。


L.Popup

Constructor(函數構造器)

L.Popup():通過給定一些選項構造一個彈出框對象,對象用來描述出現形式和位置還有一個可選對象來根據指向的資源對象標註彈出框。
maxWidth(最大寬度):彈出框的最大寬度。
minWidth(最小寬度):彈出框的最小寬度。
maxHeight(最大高度):設置後,如果內容超過彈出窗口的給定高度則產生一個可以滾動的容器。
autoPan(自動平移):如果你不想地圖自動平移來適應打開的彈出框,就設置其爲false。
closeButton(關閉按鈕):控制彈出窗口中出現的關閉按鈕。
offset(補償值):彈出窗口位置的補償值。在同一圖層中打開彈出窗口時對於控制錨點比較有用。
autoPanPadding(自動平移填補):在地圖視圖自動平移產生後彈出窗口和地圖視圖之間的邊緣。
zoomAnimation:決定是否在所在級別上彈出窗口。如果你在彈出窗口中有flash內容的最好將其設置爲不可用。

Methods(方法)

addTo:將彈出窗口添加到地圖上。
openOn:將彈出窗口添加到地圖上並將之前的一個關閉。與map.oenPopup(popup)方法相同。
setLatLng:設置彈出窗口打開的地理上的點位。
setContent:設置彈出窗口的HTML內容。


L.TileLayer

用來在地圖上載入和顯示切片圖層,用ILayer接口實現。

Constructor(函數構造器)

L.TileLayer():通過給定URL模板和具有選項的對象來實例化一個切片圖層。
URL template(URL模板)
見下面的例子
L.tileLayer(‘http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png’, {foo: ‘bar’})

Options(選項)

minZoom:最小級別數
maxZoom:最大級別數
tileSize:切片尺寸(寬度和高度的像素值,假設切片是正方形的)
subdomains:服務的子域。可以傳遞一個字符串(其中每一個字母都是一個子域名稱)或是一個字符串數組。
errorTileUrl:圖片的URL給出加載錯誤的位置。
attribution:用來進行屬性控制的字符串,描述了圖層數據。
tms:如果此值爲true,反轉切片Y軸的編號(對於TMS服務需將此項打開)。
continuousWorld:如果設置爲true,切片的座標系不會被世界範圍的寬度(-180度到180度)所覆蓋,也不會被在世界範圍的高度(-90度到90度)之內。你可以將此用在不反應真是世界的地圖上(比如遊戲、室內或照片的地圖)。
noWrap:如果設置此項爲true,則切片不會用重複填充來表示世界範圍(經度-180到180之間)之外的地方。
zoomOffset:用此值來補償URL中地圖的縮放級別。
zoomReverse:如果此項爲true,URL中的縮放級別會被反轉(用最大到最小縮放級別來替代縮放級別)。
opacity:切片圖層的透明度。
zIndex:切片圖層明確的疊置順序,默認此項不會被設置。
unloadInvisibleTiles:如果此項爲true,在平移後所有看不到的切片都會被移除(用以更好地顯示),在移動設備的webkit中默認是true,其他的默認爲false。
updateWhenIdle:如果此項爲false,在平移過程中新的切片將會載入,其他的在其後載入(用以更好地顯示),在移動設備webKit中默認是true,其他默認false。
detectRetina:如果此項爲true,並且用戶是視網膜顯示模式,會請求規定大小一般的四個切片和一個地區內一個更大的縮放級別來利用高分辨率。
reuseTiles:如果此項爲true,在平移後不可見的切片被放入一個隊列中,在新的切片開始可見時他們會被取回(而不是動態地創建一個新的)。這理論上可以降低內存使用率並可以去除在需要新的切片時預留內存。

Events(事件)

loading:當切片圖層開始加載切片時觸發。
load:當切片圖層加載完可見切片後觸發。
tileload:在加載切片時觸發。
tileunload:在切片被移除時觸發(比如打開了unloadInvisibleTiles)。

Methods(方法)

addTo():將圖層加到地圖上。
bringToFront():將此切片圖層放到所有切片圖層之上。
bringToBack():將此切片圖層放到所有切片圖層之下。
setOpacity():改變切片圖層的透明度。
setZIndex():設置切片圖層的疊放順序。
redraw():清除所有的切片並重新向服務端申請他們。
setUrl():更新圖層的URL模板並重繪他們。


L.TileLayer.WMS

用來顯示地圖上切片圖層的WMS服務,繼承自TileLayer。

Constructor(函數構造器)

L.TileLayer.WMS(): 通過給定一個基本的WMS服務的URL和WMS參數或選項對象來實例化一個WMS切片圖層對象。

Options(選項)

layers:WMS圖層以逗號分隔符隔開的列表。
styles:WMS樣式以逗號分隔符隔開的列表。
format:WMS圖像格式(用“image/png”來顯示透明圖層)。
transparent:如果該項爲true,WMS服務返回透明圖片。
version:WMS服務的版本。

Methods(方法)

setParams():融合新的參數和在當前屏幕中重申請的切片(除非noRedraw設置爲true)。


L.TileLayer.Canvas

用來創建瀏覽器端繪製的切片圖層的底層畫布。

Constructor(函數構造器)

L.TileLayer.Canvas():通過一個具有選項的對象來實例化一個切片圖層畫布對象。

Options(選項)

async:在實例化時可以異步地繪製切片。在全部繪製完後,tileDrawn方法需要在每個切片上使用。

Methods(方法)

drawTile():在創建實例來繪製切片後你需要定義此方法;canvas是你可以繪製的實際上的切片畫布,tilePoint反應了切片的數目,zoom是當前的縮放級別。
tileDrawn():如果async選項被定義,在全部繪製完後,這個函數需要在每個切片上使用。canvas與畫布對象相同,傳遞參數給drawTile。


L.ImageOverlay

用來在地圖上規定範圍內載入和顯示單幅圖像,繼承自ILayer。

Constructor(函數構造器)

L.ImageOverlay():通過給定圖像的URL和相關的地理範圍來實例化一個圖像疊加層對象。

Options(選項)

opacity:圖像疊加層的透明度。

Methods(方法)

addTo():將圖像疊加層添加到地圖上。
setOpacity():設置疊加層的透明度。
bringToFront():將疊加層置於所有層的頂層。
bringToBack():將疊加層置於所有層的底層。


L.Path

是包含選項和與適量疊加層共享常量的抽象類。不可以接使用。

Options(選項)

stroke:路徑是否描邊。設置爲false時,多邊形和圓的邊界將不可見。
color:描邊顏色。
weight:描邊的像素級別的寬度。
opacity:描邊透明度。
fill:路徑是否填充顏色。設置爲false時,多邊形和圓的填充內容不可見。
fillColor:填充顏色。
fillOpacity:填充透明度。
dashArray:定義描邊線型的字符串。這在畫布上不起作用。(比如android 2)
clickable:如果此項爲false,則矢量不產生鼠標事件並表現爲底圖的一部分。

Events(事件)

click:用戶點擊或點觸對象時觸發。
dbclick:用戶雙擊或連續兩次點觸對象時觸發。
mousedown:當用戶在對象上按下鼠標時觸發。
mouseover:當鼠標置於對象上方時觸發。
mouseout:當鼠標離開對象時觸發。
contextmenu:當用戶在對象上點擊鼠標右鍵時觸發,當此事件被監聽時,會阻止彈出瀏覽器本身的右鍵菜單。
add:當路徑被添加在地圖上時觸發。
remove:當路徑在地圖上移除時觸發。

Methods(方法)

addTo():將圖層添加到地圖上。
bindPopup():將具有特定HTML內容的彈出框與點擊路徑綁定起來。
unbindPopup():將之前的彈出框綁定解除。
openPopup():打開之前通過bindPopup方法與路徑上指定點或未指定情況下某一點綁定的彈出框。
closePopup():如果與路徑綁定的彈出框是打開狀態的,則將其關閉。
setStyle():更改給予對象選項對象的路徑的表現形式。
getBounds():返回路徑的經緯度綁定信息。
bringToFront():將此層移至所以路徑層的最上層。
bringToBack():將此層移至所以路徑層的最底層。
redraw():重繪圖層。在更改了路徑的座標時比較有用。

Static properties(靜態屬性)

SVG:如果用SVG來表達矢量,則此值爲true(在當前大多數瀏覽器中是true)。
VML:如果VML用來表達矢量,則此值爲true(在IE 6-8中適用)。
CANVAS:如果canvas用來表達矢量,則此值爲true(在android 2中適用)。你也可以在頁面中載入leaflet之前通過設置全局變量L_PREFER_CANVAS爲true來強制使用此項——有時在表達上千上萬相同的註記時會顯著地提高性能,但目前由於漏洞導致移除圖層非常慢。
CLIP_PADDING:決定地圖視圖周圍裁剪區域延展的大小(與大小相關,比如0.5在每個方向上是屏幕的一半)。較小的值意味着在拖動地圖時你會看到被裁剪路徑的末端,較大值會降低繪製性能。


L.Polyline

繪製疊加在地圖上線段的類。繼承自Path。用Map#addLayer來添加到地圖上。

Constructor(函數構造器)

L.Polyline():通過給定的地理點組成的數組和任意的選項對象實例化一個線段。

Options(選項)

smoothFactor:決定每一個縮放級別上線段簡化程度。如果大的話意味着更好的表現和看起來更光滑,小的話意味更準確地表示。
noClip::不允許線段裁剪。

Methods(方法)

addLatLng():向線段添加一個點。
setLatLngs():用所給的地理點的數組替代線段上的點。
getLatLngs():返回路徑上的點組成的數組。
spliceLatLngs():允許添加、移除和更改線段上的點。同Array#splice的語法一致。返回移除點組成的數組。
getBounds():返回線段的經緯度邊界。


L.MultiPolyline

是FeatureGroup的擴展,用來創建多線(在同一圖層中由多個共享樣式和彈出框的線段組成)。

Constructor(函數構造器)

L.MultiPolyline():通過給定的地理點的二維數組(其中每個一維數組表示一個線段)和選項對象來實例化一個多線對象。

L.Polygon

在地圖上繪製多邊形的類。是Polyline的擴展。用Map#addLayer添加到地圖上。
創建多邊形時經過的點沒有傳統意義上的起點和終點——最好將這種點指出來。

Constructor(函數構造器)

L.Polygon():通過給定地理點組成的數組和選項對象來實例化一個多邊形(同線段構造方法相同)。你也可以通過傳遞經緯度的二維數組來創建一個帶有洞的多邊形,第一個經緯度數組表示外環,剩下的表示裏面的洞。


L.MultiPolygon

是FeatureGroup的擴展,用來創建多多邊形(在同一圖層上由共享樣式和彈出框的多個多邊形組成)。

Constructor(函數構造器)

L.MultiPolygon():通過給定的經緯度的二維數組(每個一維數組表示一個多邊形)和選項對象實例化多多邊形(同多線相同)。

L.Rectangle

在地圖上繪製矩形的類。是多邊形的擴展。用Map#addLayer添加到地圖上。

Constructor(函數構造器)

L.Rectangle():通過給定的地理邊界和選項對象來實例化一個矩形對象。

Methods(方法)

setBounds():根據傳遞的邊界重繪矩形。


L.Circle

在地圖上繪製圓形疊加物的類。是Path的延伸。用Map#addLayer來添加到地圖上。

Constructor(函數構造器)

L.Circle():通過給定的地理點和以米爲單位的半徑和選項對象來實例化一個圓對象。

Methods(方法)

getLatLng():返回圓當前的地理位置。
getRadius():返回圓的半徑,以米爲單位。
setLatLng():將圓放置到一個新的位置。
setRadius():設置圓的半徑,以米爲單位。


L.CircleMarker

是一個特定半徑的圓,半徑單位是像素。是Circle的延伸。通過Map#addLayer添加到地圖上。

Constructor(函數構造器)

L.CircleMarker():通過給定的地理點和選項對象來實例化一個圓註記。默認的半徑是10像素,並且可以通過在路徑選項中傳遞一個半徑參數來修改半徑。

Methods(方法)

setLatLng():將圓註記放置於一個新的位置。
setRadius():設置圓註記的半徑,以像素爲單位。


L.LayerGroup

用來將幾個圖層組成一個組並作爲一個圖層來處理。如果你將其添加到地圖上,組中任何圖層的添加或移除都將使其同樣在地圖添加或刪除。繼承自ILayer接口。

Constructor(函數構造器)

L.LayerGroup():創建一個組,視情況指定一組初始的圖層。

Methods(方法)

addTo():將圖組添加到地圖上。
addLayer():將給定的圖層添加到組中。
removeLayer():將給定的圖層從組中移除:
clearLayer():將組中的圖層清空。
eachLayer():遍歷組中的圖層,需選擇一個符合情況的迭代函數。


L.FeatureGroup

是LayerGroup的擴展,但多了鼠標事件和共享的彈出框方法。繼承自ILayer接口。

Constructor(函數構造器)

L.FeatureGroup():創建一個圖組,視情況指定一組初始圖層。

Methods(方法)

具有LayerGroup所以的方法,還有下面多出的方法:
bindPopup():在組中任意具有bindPopup方法的圖層上綁定一個具有具體HTML內容的彈出框。
getBounds():返回要素組的經緯度邊界(通過他子圖層的邊界和座標獲得)。
setStyle():設置組中具有setStyle方法的圖層的路徑選項。
bringToFront():將圖組置於頂層。
bringToBack():將圖組置於底層。

Events(事件)

click:用戶點擊或觸摸組是觸發。
dbclick:用戶雙擊或連續兩次觸摸組時觸發。
mouseover:當鼠標置於組上方時觸發。
mouseout:當鼠標離開組時觸發。
mousemove:當鼠標經過組時觸發。
contextmenu:當用戶右擊圖層時觸發。
layeradd:當圖層被加入到組時觸發。
layerremove:當圖層從組中移除時觸發。


L.GeoJSON

展示一個GeoJSON的圖層。允許你在地圖上解析並顯示GeoJSON數據。是FeatureGroup的延伸。
由此創建的每個要素層獲取要素與之關聯的GeoJSON數據屬性(因此你隨後可以傳遞它的屬性)。

Constructor(函數構造器)

L.GeoJSON():創建一個GeoJSON圖層。可以任意地接受GeoJSON格式的對象和選項對象並顯示在地圖上(隨後可以選擇用addData方法添加)。

Options(選項)

pointToLayer():在創建GeoJSON點圖層時所用到的函數(如果不特意說明,會創建簡單的註記)。
style():在獲取用來創建GeoJSON要素的矢量圖層的樣式選項時可以用到。
onEachFeature():在每個創建的圖層上都會調用此函數。對於向要素添加事件和彈出框比較有用。
filter():用來決定是否顯示某要素的函數。

Methods(方法)

addData():在圖層中添加GeoJSON對象。
setStyle():通過給定的樣式函數改變GeoJSON矢量圖層的樣式。
resetStyle():將矢量圖層樣式重置爲初始GeoJSON樣式,對於hover事件之後的重置比較有用。

Static methods(靜態方法)

geometryToLayer():通過給定的GeoJSON要素創建圖層。
coordsToLatlng():通過在GeoJSON中表示點的兩個數字組成(分別表示緯度和經度)的數組來創建經緯度對象。如果reverse設置爲true,那麼這兩個數字被顛倒,表經度和緯度。
coordsToLatlngs():通過GeoJSON座標座標的數組創建多維數組。leversDeep指定具體的嵌套級別(0表示點的數組,1表示點數組的數組等等,0爲默認值)。如果reverse設置爲true,這些數組變爲經度和緯度。

L.LatLng

表示通過某一經度和緯度確定的地理上的點。
所以leaflet接受的經緯度對象也接受他們的單一數組的形式(除非在其他方面表明不可以)。

Constructor(函數構造器)

L.LatLng():通過給定的緯度和經度創建表示地理點的對象。

Options(選項)

lat:以度數表示的緯度。
lng:以度數表示的經度。

Methods(方法)

distanceTo():返回到通過半正矢公式計算的經緯度的距離(用米表示)。
equals():如果給定的經緯度在相同的位置(具有較小的容差)則返回true。
toString():返回點的描述信息(用來調試用)。
wrap():返回在經度上left和right邊界覆蓋範圍內(默認爲0180到180)的心的經緯度對象。

Constants(常量)

DEG_TO_RAD:度數轉換爲弧度的乘子。
RAD_TO_DEG:弧度轉換爲度數的乘子。
MAX_MARGIN:判斷相等的容差。

L.LatLngBounds

表示地圖上一個矩形的區域。
所有接受LatLngBounds對象的leaflet方法也接受他們簡單數組的形式(除非另行說明)。

Constructor(函數構造器)

L.LatLngBounds(西南角點,東北角點):通過定義矩形西南角點和東北角點來創建經緯度的矩形框。
L.LatLngBounds():通過定義內在點來創建經緯度的矩形框。當用fitBounds把地圖放到適合某些位置的縮放級別時是比較有用的。

Methods(方法)

extend():將邊界延伸到包含給定點和邊界的範圍。
geSouthWest():返回邊界的西南角點。
getNorthEast():返回邊界的東北角點。
getNorthWest():返回邊界的西北角點。
getSouthEast():返回邊界的東南角點。
getWest():返回邊界的西點。
getSouth():返回邊界的南角點。
getEast():返回邊界的東角點。
getNorth():返回邊界的北角點。
getCenter():返回邊界的中心點。
containg(otherBounds):如果矩形框包含給定的邊界則返回true。
contains(latlng):如果矩形框包含給定的點則返回true。
intersects():如果矩形框與給定的邊界相交則返回true。
equals():如果矩形框與給定的範圍相等(在一定容差範圍內)則返回true。
toBBoxString():返回“西南經度,西南緯度,東北經度,東北緯度”形式的外接矩形的座標。在向網絡服務器提交請求返回地理數據時比較有用。
pad():返回當前範圍擴大一定百分比後的邊界。
isValid():如果邊界可被初始化則返回true。

L.Point

顯示以像素爲單位的點的x,y座標。
所以接受點對象的leaflet方法和選項都也接受他們簡單數組的形式。

Constructor(函數構造器)

L.Point():用給定點的x和y座標來創建點對象。如果round設置爲true,則將x和y的值轉換爲圓中。?

Properties(屬性)

x:x座標。
y:y座標。

Methods(方法)

add():返回當前點和給定點的和。
subtract():返回當前點和給定點的差。
multiplyBy():返回當前點和給定值的積。
divideBy():返回當前點和給定值的商。如果round設置爲true,則返回一個圓的結果。
distanceTo():返回當前點與給定的的距離。
clone():返回當前的副本。
round():返回當前的在圓上的座標的副本。
equals():如果點座標相同則返回true。
toString():在調試時顯示點的字符串的形式。

L.Bounds

用像素座標表示的矩形的區域。
所以接受邊界對象的leaflet方法和選項都也接受他們簡單數組的形式。

Constructor(函數構造器)

L.Bounds(左上角點,右下角點):用兩個座標(通常是左上角的點和右下角的點)來創建邊界對象。
L.Bounds(點集):用包含的點創建邊界對象。

Properties(屬性)

min:矩形左上角點。
max:矩形右下角點。

Methods(方法)

extend():將包含給定點的邊界延伸。
getCenter():返回邊界的中心點。
contains():如果矩形包含給定的邊界則返回true。
contains():如果矩形包含給定點則返回true。
intersects():如果矩形與給定邊界相交則返回true。
isValid():如果邊界可以被初始化則返回true。
getSize():返回邊界的大小。

L.Icon

創建註記時顯示的圖標。

Constructor(函數構造器)

L.Icon():通過給定的選項創建圖標實例。

Options(選項)

iconUrl:請求圖標圖片的URL(腳本中的絕對或相對路徑)。
iconRetinaUrl:圖標圖片視網膜視圖下的尺寸的URL。用於視網膜屏幕的設備。
iconSize:圖標圖片的像素大小。
iconAnchor:圖標提示的座標(在左上角)。圖標是對其的,所以這個點是註記的地理位置。如果大小是指定的則位於中心處,也可以在CSS中設置負邊界。
shadowUrl:圖標陰影圖的URL。如果沒有指定,圖標沒有陰影。
shadowRetinaUrl:圖標在視網膜視圖下的尺寸的URL。如果沒有指定,圖標沒有陰影。用於視網膜屏幕的設備。
shadowAnchor:陰影的提示座標(在左上角)(如果沒有指定則與iconAnchor相同)。
popupAnchor:與圖標錨相關的打開彈出框的點的座標。
className:圖標和陰影圖片的自定義的類名。默認爲空。

L.DivIcon

用div要素而非圖片來輕量級地顯示註記的圖標。
默認情況下,陰影會有一個小的白色的方形作爲leaflet-div-icon類和樣式。

Constructor(函數構造器)

L.DivIcon():用給定的選項實例化圖標。

Options(選項)

iconSize:圖標的像素大小。也可以通過CSS設置。
iconAnchor:圖標提示的座標(在左上角)。圖標是對其的,所以這個點是註記的地理位置。如果大小是指定的則位於中心處,也可以在CSS中設置負邊界。
className:用於對其圖標的自定義的類名,默認爲leaflet-div-icon。
html:在div要素中自定義的HTML代碼,默認爲空。

L.Control

所有leaflet控制的基礎類。繼承自IControl接口。

Constructor(函數構造器)

L.Control():通過給定的選項創建一個控制。

Options(選項)

position:控制初始的位置(在地圖的某一角)。參見control positions。

Methods(方法)

setPosition():設置控制的位置。參見control positions。
getPosition0():返回控制的當前位置。
addTo():將控制添加到地圖上。
removeFrom():將控制從地圖上移除。
Control Positions(控制的位置)
topleft:地圖的左上角。
topright:地圖的右上角。
bottomleft:地圖的左下角。
bottomright:地圖的右下角。

L.Control.Zoom

擁有兩個按鈕(放大和縮小)的級別的縮放控制。默認地圖上是有的,除非設置zoomControl選項爲false。

Constructor(函數構造器)

L.Control.Zoom():創建縮放控制。

Options(選項)

position:控制的位置(在地圖的某一角)。參見control positions。

L.Control.Attribution

可以在地圖上一個小的文本盒子中顯示屬性數據的屬性控制。默認地圖上是有的,除非設置attributionControl選項爲false,並且它自動地通過getAttribution方法獲取圖層的屬性文本。繼承自Control。

Constructor(函數構造器)

L.Control.Attribution():創建屬性控制。

Options(選項)

position:控制的位置(在地圖的某一角)。參見control positions。
prefix:在屬性之前顯示的HTML文本。傳遞false來使其不顯示。

Methods(方法)

setPrefix():在屬性之前設置文本。
addAttribution():添加屬性文本。
removeAttribution():移除屬性文本。

L.Control.Layers

圖層控制使用戶可以在不同的底圖之間切換,並可以控制覆蓋物的開關。繼承自Control。

Constructor(函數構造器)

L.Control.Layers():通過給定的圖層創建數據控制。基礎圖層通過單選項進行切換,覆蓋物通過複選框切換顯示。

Methods(方法)

addBaseLayer():通過給定的控制名稱添加基礎層(通過單選按鈕實體)。
addOverlay():凸顯給定的控制名稱添加覆蓋物(通過複選框實體)。
removeLayer():將圖層從控制中移除。

Options(選項)

position:控制的位置(在地圖的某一角)。參見control positions。
collapsed:如果爲true,控制可以收縮爲一個圖標,在鼠標置於上方或點觸時展開。
autoZIndex:如果爲true,控制的圖層升序地疊置對齊,在切換圖層打開或關閉時,順便不變。

Events(事件)

baselayerchange:當基層層通過控制更改時觸發。

L.Control.Scale

顯示在十進制或公制的屏幕當前中心的比例的簡單比例尺控制。繼承自IControl接口。

Constructor(函數構造器)

L.Control.Scale():通過選項創建比例控制。

Options(選項)

position:控制的位置(在地圖的某一角)。參見control positions。
maxWidth:控制最大的像素寬度。寬度可以圍繞幾個值動態設置。
metric:是否顯示十進制比例線。
imperial:是否顯示公制比例線。
updateWhenIdle:如果設置爲true,控制由moveend更新,否則它總是最新的(由move更新)。
Events methods
一系列事件驅動的類(比如map)之間共享的方法。通常,事件允許你在一個對象發生某些事情時執行一些函數。
leaflet通過引用來處理事件監聽器,所以如果你想咬添加或移除一個監聽器時,可以用函數的方法。

Methods(方法)

addEventListener(類型,函數,內容):向某一類型的事件中添加監聽器函數。你可以選擇性地指定監聽器的內容(對象中this關鍵字會被使用)。你也可以傳遞幾個空格間隔的類型(如"click dbclick")。
addEventListener(發生事件的地圖,內容):添加一系列的類型/監聽器對,如{click:Onclick,mousenove:onMouseMove}
removeEventListener(類型,函數,內容):移除之前添加的監聽器函數。如果沒有指定具體的函數,則所以的都會被移除。
removeEventListener(發生事件的地圖,內容):移除一系列類型/監聽器對。
hasEventListener():如果某一事件類型有附屬的監聽器則返回true。
fireEvent():觸發指定類型的事件。你可以提供一個數據對象——監聽器對象的第一個參數應該包含它的屬性。
on():addEventListener的別稱。
off():removeEventListener的別稱。
fire():fireEvent()的別稱。
Event objects
當一些事件觸發時接受監聽器函數參數的事件對象,它包含了事件一些有用的信息。

Events(事件)

type:事件的類型。
target:觸發事件的對象。
MouseEvent(鼠標事件)
latlng:鼠標事件發生的地理點。
layerPoint:鼠標事件發生的與地圖圖層相關的點的像素座標。
containerPoint:鼠標事件發生的與地圖容器相關的點的像素座標。
originalEvent:由瀏覽器觸發的原始的DOM鼠標事件。
LocationEvent(位置事件)
latlng:監測到的用戶的地理位置。
bounds:用戶坐落的區域的地理邊界(考慮位置精度問題)。
accuracy:米爲單位的位置的精度。
ErrorEvent(錯誤事件)
message:錯誤信息。
code:錯誤代碼(若可用)。
LayerEvent(圖層事件)
layer:添加或移除的圖層。
TileEvent(切片事件)
tile:切片要素(圖片)。
url:切片的url資源。
GeoJSON event(GeoJSON事件)
layer:將要添加到地圖上的GeoJSON要素的圖層。
properties:要素的GeoJSON的屬性。
geometryType:要素的GeoJSON的幾何類型。
id:要素的GeoJSON的ID(如果出現)。
Popup event(彈出框事件)
popup:打開或關閉的彈出框。

L.Class

L.Class強化了leaflet的面向對象的設備並被用於創建幾乎所喲這裏提到的leaflet類。
除了執行一個簡單的類接口模型,它還引入了方便代碼組織的一下特殊的屬性——options,includes和statics。

Inheritance(繼承)

可以用L.Class.extend來定義新的類,但可以在任何一個類上用同樣的方法來繼承它。
這會創建一個繼承父類所有方法和屬性的類(由規範所約束),添加或重構你用來擴展的類。這也對instanceof做出反應。
你可以通過父類的規範和javascript的call與apply來調用父類的方法來響應子類的方法(就像你在其他語言中調用超類)。

Options(選項)

options是一個與其他對象不同的特殊的屬性,其他你用來擴展的對象會被父類合併而非完全重構,這使管理對象的結構和默認值更加方便。
選項中還有L.Util.setOptions方法,可以方便地合併傳遞給函數構造器的選項和類中默認的定義。

Includes(包含)

includes是一個特殊的類,它將所有對象合併到一個類中。一個較好的例子是L.Mixin.Event,它是具有on、off和fire這些魚事件相關的方法的類。

Statics(靜態)

statics是一種方便的屬性,將類中指定對象的屬性變爲靜態屬性,對於定義常量比較有用。

Class Factories(類工廠)

你可以用個兩種方式來創建leaflet的實例——用new關鍵字和用小寫的factory方法。

Constructor Hooks(構造函數鉤子)

如果你是一個插件開發者,你通常需要在現有的類中加入附件的初始化代碼(比如因L.Polyline而編輯鉤子)。leaflet可以用addInitHook方法來簡化它。

L.Browser

leaflet內部監測瀏覽器或要素的帶有屬性的命名空間。
ie:如果是IE瀏覽器則返回true。
ie6:如果是IE6瀏覽器則返回true。
ie7:如果是IE7瀏覽器則返回true。
webkit:如果是類似chrome和safari的基於webkit的瀏覽器(包括移動版)則返回true。
webkit3d:如果基於webkit的瀏覽器支持CSS的3D轉換則返回true。
android:如果是安卓移動版的瀏覽器則返回true。
android23:如果是安卓2或3的股票瀏覽器則返回true。
mobile:如果是流行的移動版的瀏覽器(包括iOS下的safari和其他各種安卓瀏覽器)則返回true。
mobileWebkit:如果是移動版的基於webkit的瀏覽器則返回true。
mobileOpera:如果是移動版的opera瀏覽器則返回true。
touch:對於所有觸摸設備上的瀏覽器返回true。
msTouch:對於微軟的觸摸模式的瀏覽器(比如IE10)返回true。
retina:如果是視網膜屏幕的設備則返回true。

L.Util

在leaflet內部使用的多種實用的函數。

Methods(方法)

extend():將src對象(或多個對象)的屬性合併到dest對象中並將其返回。具有一個L.extend的快捷方式。
bind():返回由給定範圍的obj執行fn函數的函數(所以關鍵字this可以表示函數代碼裏的obj)。具有一個L.bind快捷方式。
stamp():在對象上應用一個主鍵並返回這個鍵。具有L.stamp快捷方式。
limitExecByInterval():返回調用盡量快的但不會比間隔時間還要頻繁的fn函數的包裝器(對於拖動地圖時檢驗和請求信的切片比較有用),可以通過context選擇函數調用的範圍。
falseFn():返回總是返回false的函數。
formatNum():返回digits位數的num的數目。
splitWords():根據空格和空白來截取分割字符串並返回數組。
setOptions():將所給的屬性合併到obj的options中,返回最終的選項。參加Class options。具有L.setOptions快捷方式。
getParamString():將對象轉換爲帶有參數的URL字符串,比如{a:“foo”,b:“bar”}轉換爲’?a=foo&b=bar’。
template():是一個簡單的模板,用通過將{a:‘foo’,b:‘bar’,…}形式的data對象應用到’Hello{a},{b}‘形式的模板字符串來創建字符串——在上述示例中可以得到’Hello foo,bar’。
isArray():如果對象爲數組則返回true。

Properties(屬性)

emptyImageUrl:包含64位編碼的空的GIF圖像的數據URL字符串。在webkit驅動的移動設備的上,用來作爲清空沒用圖像的存儲的鉤子。

L.Transformation

表示仿射變換:用一系列a、b、c、d的係數來將(x,y)形式轉換爲(ax+b,cy+d)的形式並進行反轉。在leaflet的投影代碼中可以用得到。

Constructor(函數構造器)

L.Transformation():通過給定的係數創建轉換對象。

Methods(方法)

transform():返回轉換後的點,可以選擇擴大一定的倍數。只接受真實的L.Point實例,而不是數組。
untransform():返回反轉變換後的點,可以選擇搜索一定倍數。只接受真實的L.Point實例,而不是數組。

L.LineUtil

一些處理線段點的應用函數,在leaflet內部用來使線段顯示更快。

Methods(方法)

simplify(): 在保持形狀的同時動態地減少線上點的數目並返回簡化後點的數組。在每一縮放級別處理和顯示leaflet線段時可以大幅提升效率並可以減少視覺噪聲。 tolerance影像簡化的量(較小的值意味着更高的質量,但效率會地因爲有更多的點)。這也是微型類庫Simplify.js中的一部分。
pointToSegmentDistance():返回點p到p1和p2組成的線段之間的距離。
closesPointOnSegment():返回p1和p2線段上與p點最接近的點。
clipSegment():用矩形邊界裁剪點a到點b之間的折線段(直接修改折線段上的點)。在leaflet中用來顯示屏幕內或邊緣的線段上的點,可以因此而提高效率。

L.PolyUtil

多邊形幾何體的一些應用函數。

Methods(方法)

clipPolygon():通過矩形邊界來裁剪給定點定義的多邊形幾何體。在leaflet中用來顯示屏幕內或邊緣的線段上的多邊形上的點,可以因此而提高效率。多邊形點需要不同的算法來裁剪折線段,因此這個方法也有不同的分支。

L.DomEvent

在leaflet內部用來處理DOM事件的應用函數。

Methods(方法)

addListener():向指定類型的DOM事件元素添加監聽器fn。監聽器中的this關鍵字指向context,或是在沒有說明的情況下指向要素。
removeListener():在元素中移除事件監聽器。
stopPropagation():停止事件向父元素傳播。
preventDefault():阻止事件默認的動作發生(比如追蹤元素href中的鏈接,或是當form提交時頁面重載的POST請求)。
stop():在同一時刻發起stopPropagation和preventDefault。
disableClickPropagation():將stopPropagation添加到元素的’click’,‘doubleclick’,'mousedown’和’touchstart’事件中。
getMousePosition():如果沒有特意說明則獲取與容器或整個頁面相關的DOM事件的標準的鼠標位置。
getWheelDelta():從mousewheel的DOM事件中獲取標準的滾輪區域。

L.DomUtil

在leaflet內部用來處理DOM樹的應用函數。

Methods(方法)

get():如果傳遞字符串則返回一個帶有指定id的元素,或是隻是返回這個元素。
getStyle():返回元素中特定樣式屬性的值,包括計算後的值和CSS中設置的值。
getViewprotOffset():返回請求元素視圖的偏移量。
create():通過tagName創建元素,設置className並選擇性地將其附加到container元素中。
disableTextSelection():使文本不能被選擇,比如拖動的時候。
enableTextSelection():使文本選擇重新可用。
hasClass():如果元素類屬性包含name則返回true。
addClass():將name添加到元素類的屬性中。
removeClass():在元素類屬性中移除name。
setOpacity():設置元素的透明度(包括老的IE也支持)。值應當處於0到1之間。
testProp():檢索樣式名稱的數組並返回第一個元素可用樣式的名稱。如果沒有找到,那麼返回false。
getTranslateString():返回CSS轉換字符串來通過給定點提供的偏移量來移動元素。
getScaleString():返回CSS轉換字符串來縮放元素(通過給定的比例原點)。
setPosition():用CSS轉換或屏幕左上角位置設置給定點的座標系下的元素位置(leaflet內在地定位圖層)。如果disable3D設置爲true那麼強制爲左上角位置。
getPosition():返回之前用setPosition定位的元素的座標。

Properties(屬性)

TRANSITION:帶前綴的轉換樣式名稱(如’webkitTransition’用來表示WebKit)。
TRANSFORM:帶前綴的變換樣式名稱。

L.PosAnimation

在內部用來平移動畫鏡頭,利用CSS3轉換在現代瀏覽器中實現,在IE6到9中用時間降速的功能實現。

Constructor(函數構造器)

L.PosAnimation():創建動畫對象。
Methods(方法)
run():在新的位置運行指定元素,可以選擇性地設置持續的秒數(默認是0.25秒)和線性效果(通過cubic bezier curve的第三個參數,默認是0.5)。

Events(事件)

start:當動畫開始時觸發。
step:在動畫過程中持續觸發。
end:動畫結束時觸發。

L.Draggable

使DOM元素可以拖動的類。在內部被用來拖動地圖和註記。

Constructor(函數構造器)

L.Draggable():創建可拖動對象,這樣在你開始移動dragHandle元素時就可以移動給定元素了(默認同元素自身是同一個)。

Events(事件)

dragstart:拖動開始時觸發。
predrag:在拖動過程中相應元素位置更新之前持續觸發。
drag:拖動過程中持續觸發。
dragend:拖動結束後觸發。
Methods(方法)
enable():使拖動功能可用。
disable():使拖動功能不可用。

IHandler

繼承自interaction handlers接口。
enable():使處理程序可用。
disable():使處理程序不可用。
enabled():如果處理程序可用則返回true。

ILayer

顯示地圖上附屬於某一位置(或一系列位置)的對象。被tile layers,markers,popups,image,overlays,vector layers和layer groups所繼承。

Methods(方法)

onAdd():需要包含創建覆蓋物的DOM元素的代碼,將他們加入到所屬的map panes中並在相關地圖時間中放入監聽器。調用map.addLayer(map)。
onRemove():包含從DOM移除覆蓋物元素和移除之前onAdd方法添加的監聽器的所有的清除代碼。調用map.removeLayer(layer)。
Implementing Custom Layers(實例化自定義圖層)
何時實例化自定義圖層最重要的是地圖的viewset事件和latLngToLayerPoint方法。viewset在地圖需要重新定位圖層時(比如縮放時)觸發,latLngToLayerPoint在獲取圖層新的位置時使用。
在實例化圖層時還有一個經常用到的事件是moveend,在地圖移動之後觸發(比如平移和縮放等)。
還 有一個需要注意的事情是你需要經常向你在圖層中創建的DOM元素中添加leaflet-zoom-hide類,它會在縮放動畫中隱藏。實例化自定義圖層的 縮放動畫師一個複雜的話題,在以後的章節中會講到,但你可以在leaflet的圖層代碼(比如ImageOverlay)中看一下它是如何工作的。

IControl

在地圖的某個角上顯示UI元素。被zoom,attribution,scale和layers controls所繼承。

Methods(方法)

onAdd():包含所有用於在相關地圖事件上控制、添加監聽器的創建必要DOM要素的代碼,並返回包含控制的元素。調用map.addControl(control)或control.addTo(map)。
onRemove():包含所有清除代碼(比如0移除控制事件監聽器)。調用map.removeControl(control)或control.removeFrom(map)。控制的DOM容器自動移除。

IProjection

具有將地理座標投影到平面(和後方)的方法的對象。參加Map projection。

Methods(方法)

project():將地理座標投影爲二維點。
unproject():將二維的點反投影爲地理位置。
Defined Projections(定義的投影)
L.Projection.SphericalMercator:球面墨卡託投影——網上地圖最常用的投影,幾乎所有的免費和商業的切片提供者都會使用。假設地球是一個規則球體。被EPSG:3857座標參考系統使用。
L.Projection.Mercator:橢圓墨卡託投影——比球面墨卡託投影更爲複雜,這個投影考慮到地球是橢球而非規則球體。在EPSG:3395座標參考系統中使用。
L.Projection.LonLat:正交矩形或圓柱投影——最簡單的投影,幾乎只被GIS專家使用。將地圖的x方向作爲經度,y方向作爲緯度。對於平面的世界也適用,比如遊戲地圖。在EPSG:3395和Simple座標參考系統中使用。

ICRS

爲將地理點投影到像素座標或屏幕座標和反向投影(投影到用於WMS服務的其他單位的座標)而定義座標參考系統。參加Spatial reference system。

Methods(方法)

latLngToPoint():將給定縮放級別的地理座標投影爲像素座標。
pointToLatLng():是latLngToPoint的反轉。將給定縮放級別的像素座標投影爲地理座標。
project():將地理座標投影爲CRS可接受單位的座標(比如EPSG:3857中的米,傳遞給WMS服務)。
scale():返回轉換投影座標爲特定級別的像素座標所用到的縮放級別。比如,在基於墨卡託投影的CRS中返回256*2^zoom。

Properties(屬性)

projection:CRS使用的投影。
transformation:CRS使用的用來將投影座標轉換爲特定切片服務的屏幕座標的轉換方式。
code:向WMS服務傳遞的標準CRS的標準代碼名稱(比如’EPSG:3857’)。
Defined CRS(定義的座標參考系統)
L.CRS.EPSG3857:在線地圖最常用的CRS,幾乎所有的免費喝商業切片服務都會使用。使用球面墨卡託投影。是地圖的crs選項的開始默認值。
L.CRS.EPSG4326:在GIS專家中常見的CRS。使用簡單的圓柱投影。
L.CRS.EPSG3395:較少地被商業切片服務使用。使用橢圓墨卡託投影。
L.CR.Simple:直接將經緯和緯度映射爲x和y的簡單的CRS。可能會在平面地圖中用到(比如遊戲地圖)。y軸始終是反向的(由下而上)。
如果你想用其他此處未列出的不常用的CRS,請查詢Proj4Leaflet插件。
Global Switches
用來在少數情況並且基本都是即使某個特別的瀏覽器要素存在,也使leaflet不監測的全局設置開關。需要在leaflet包含於頁面之前將全局變量開關設置爲true。
L_PREFER_CANVAS:對於矢量圖層,強制leaflet在後臺使用畫布而非SVG。這在某些情況下可以適當提高性能(比如在地圖上有成千上萬的圓註記時)。
L_NO_TOUCH:即使監測到觸摸事件,也強制leaflet不去使用觸摸事件。
L_DISABLE_3D:即使可用,也強制leaflet在定位時不使用硬件加速來進行CSS 3D變換(在少數情況下會發生偶然故障)。
L.noConflict()
這個方法用來將L全局變量恢復到leaflet包含的初始值,並返回leaflet真實的命名空間,所以你可以將它放到任何地方。
L.version
顯示當前使用的leaflet版本的常量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章