摘自:http://www.ithao123.cn/content-824673.html

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

最新文章

  1. 2003服务器搭建vpn
  2. 洛谷 P1379 八数码难题 Label:判重&&bfs
  3. [Tex学习笔记]发一篇文章的经历
  4. [转]Excel 取汉字拼音首位
  5. VSS - 版本管理起的学习 AND 使用
  6. linux驱动的入口函数module_init的加载和释放【转】
  7. 1.6.3 Uploading Data with Solr Cell using Apache Tika
  8. lintcode 中等题 :Maximum Product Subarray 最大连续乘积子序列
  9. 备份spfile 中的一个误区
  10. NSInteger 与 NSUInteger 和 int与 NSInteger 区别(转)
  11. LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the contex异常的原因
  12. shell中判断用法
  13. oracle数据库包package小例子
  14. TableLayout
  15. Android简易实战教程--第三十八话《自定义通知NotifiCation》
  16. 橙色优学:Java编程怎么提升技术,Java编程思维至关重要
  17. nginx 前端POST请求405问题解决与排查过程
  18. FileProvider相关 Failed to find configured root that contains
  19. Github介绍
  20. Python -- Gui编程 -- Qt库的使用 -- 布局与基本控件

热门文章

  1. 马尔科夫毯(Markov Blanket)
  2. Android中TextView和EditView经常使用属性设置
  3. VS2013远程调试IIS中的网站
  4. 设置label中的对齐方式
  5. Redis 连接失败redis Can't init enough connections amount!
  6. libevent(了解)
  7. cxGrid 显示行号及行号列列名
  8. HDU 5892 Resident Evil
  9. (转)HTTP
  10. HDU 1796 How many integers can you find(容斥原理)