Leaflet API 翻譯(二)

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版本的常量。

 

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