1、初始化

L.map(<String> id , options ?)  //用地图div的id创建
L.map(<HTMLElement>el , options?) //用地图div的name创建

2、参数:

//控件Control
attributionControl //地图右下角的信息说明控件,默认true开启
zoomControl //左上角的缩放控件,默认true开启 //交互性
closePopupOnClick //如果点击(click)地图时不想Popup被关闭,把该参数设置为false
zoomSnap //强制地图的缩放后地图等级始终为这个参数的倍数,对fitBounds()方法作用很大
zoomDelta //每次缩放的倍数,默认1
trackResize //地图是否跟随浏览器的变化而变化,默认true
boxZoom //是否允许地图缩放到一个区域,这个区域是你按住SHIFT同时在地图上画的一个矩形区域,默认true
doubleClickZoom //是否允许双击鼠标进行放大,按住SHIFT双击鼠标缩小,默认true;如果将该参数值设置为'center',则缩放时会固定以view的中心为中心进行缩放,不随鼠标的位置变化而变化
dragging //是否允许地图被鼠标拖动,默认true //地图状态
center //最初的地理坐标,类型是LatLng
zoom //初始缩放等级
minZoom //最小缩放等级
maxZoom //最大缩放等级,这两个如果不确定就不用写,会根据地图来源自动确定
maxBounds //类型LatLngBounds,地图会被锁定在该Bounds处
//如果要修改,可以通过方法setMaxBounds设置 layers //一开始就被加入到地图中的图层,类型是List[],其中的元素类型为Layer //动画
zoomAnimation //进行缩放时是否有动画,默认true
fadeAnimation //是否开启tile fade animation,这里我也不知道该怎么翻译
markerZoomAnimation //marker在缩放时是否有动画,如果没有,它将在缩放期间消失并在缩放结束后显示,默认false
//键盘
keyboard //是否启用键盘+/-号进行缩放、上下左右箭头进行平移,默认true
keyboardPanDelta //键盘每次箭头平移的像素数,默认80 //鼠标滚轮
scrollWheelZoom //是否启用滚轮缩放,默认true
wheelDebounceTime //鼠标滚轮的最大转速,默认40,单位ms,即滚轮最大转速为1圈/40ms
wheelPxPerZoomLevel //标定滚轮转过的角度与放大倍数的关系

如果要做移动端开发,还有参数Touch interaction,这里不再详述了,可以去官网上Leaflet Map Options查看。

3、事件

//覆盖图层——overlay 平移——pan
//图层
baselayerchange //通过layers control改变底图时触发(以下均省略触发二字)
overlayadd //当通过layers control选择了一个覆盖图层
overlayremove //当通过layers control取消选择一个覆盖图层
layeradd //当一个新图层被添加到地图中
layerremove //当一些图层从地图中移除 //地图状态改变
zommlevelschange //由于添加或移除图层所引起的地图缩放等级的改变
resize //地图大小改变
unload //地图被移除(remove方法)
viewreset //内容改变(常发生在zoom或load时),在定制覆盖图层时很有用
load //地图被初始化(即它的center和zoom是第一次设置时)
zoomstart //地图将要缩放前(缩放动画前)
movestart //地图将要被移动前
zoom //在地图大小改变时重复触发(包括zoom和fly)
move //在地图移动时重复触发 (包括pan和fly)
zoomend //地图大小改变后(所有动画结束后)
moveend //地图中心停止改变后 //popup
popupopen //当一个popup打开时
popupclose //当一个popup关闭时
autopanstart //当由于打开一个popup而导致地图移动时 //定位
locationerror //定位失败时
locationfound //定位成功时 //交互式 最重要也最有用
click //在地图上点击时
dblclick //双击时
mousedown //按下鼠标
mouseup //松开鼠标
mouseover //鼠标进入地图中
mouseout //鼠标离开地图
mousemove //鼠标在地图上移动
contextmenu //按住鼠标右键以显示浏览器的contextmenu时
keypress //按了一个字符键(非系统键)
keydown //按住一个键(任何键)
keyup //松开一个键
preclick //点击地图前,当你想要在点击事件触发前发生一些操作时起作用

4、方法

用法:实例化对象.方法(参数);

//Layers和Controls
addControl(<Control>control) //将Control加入到地图中
removeControl(<Control>control) //从地图中移除Control
addLayer(<Layer>layer) //将Layer加入到地图中
removeLayer(<Layer>layer) //从地图中移除Layer
hasLayer(<Layer>layer) //如果Layer在地图中,就返回true
eachLayer(<function>fn)//对地图中的每个Layer进行函数function处理(迭代)
openPopup(<Popup>popup) //打开指定的Popup,关闭之前打开所有的Popup
closePopup(<Popup>popup) //关闭指定的Popup,如果不写参数,就会关闭之前openPopup的那个 //地图状态 参数后边加问号?表示该参数是可选参数
setView(<LatLng>center , <Number>zoom, <zoom/pan options> options?) //设置地图视图(center和zoom),option?表示可选参数,可选参数是Zoom/pan options
setZoom(<Number>zoom , <zoom/pan options>options) //设置地图的zoom级别
zoomIn() //放大
zoomOut() //缩小
setZoomAround(<LatLng>latlng,<Number>zoom)//保持latlng标定的经纬相对于地图不变,缩放至zoom级
setZoomAround(<Point>offset,<Number>zoom)//以地图左上角为(0,0),保证相对于该点的Point offset相对于位置地图不变,缩放至zoom级
fitBounds(<LatLngBounds>bounds) //设置地图视角为包含限制范围bounds的最大Zoom等级
//fitBounds配合Polyline等Vector Layer的getBounds()方法,可以起到聚焦到该对象的作用
//map.fitBounds(polyline.getBounds())

fitWorld() //设置地图视角为包含整个世界的最大Zoom等级
panTo(<LatLng>latlng) //平移地图至指定坐标
panBy(<Point>offset) //斜着平移,横向平移像素为offset的x,纵向平移的像素为offset的y,整个平移过程会以动画的形式显示(如果值太小可能看不出动画的效果)
flyTo(<LatLng>latlng,<Number>zoom?) //用缓慢平移的方式(像在fly)转移地图视角到给定经纬度latlng
flyToBounds(<LatLngBounds>bounds) //用fly的方式转移地图视角到限制区域bounds
setMaxBounds(<LatLngBounds> bounds) //控制(锁定)地图视角到限制区域bounds
setMinZoom(zoom) //最低zoom倍数
setMaxZoom(zoom) //最高zoom倍数
panInsideBounds(<LatLngBounds>bounds)//平移到给定边界内的最近视图
panInside(<LatLng>latlng)
invalidateSize(<Zoom/pan options>options)//在地图容器的size改变时自动更新地图的大小
invalidateSize(<Boolean>animate)//同上
//后4个方法我还没搞懂具体用法,只是做了粗略翻译

//地理空间定位
locate(<Locate options>options) //尝试从Geolocation API获取用户定位;当获取成功时会触发locationfound事件,失败时则会触发locationerror事件。成功时将会设置地图视角到用户位置;失败时则是整个世界的视角。如果页面不使用HTTPS,该方法就会失效(比如Chrome50或者更新版本)。
stopLocate() //停止监视之前定位的位置(如果之前map.locate参数{watch:true},就会一直监视该区域),如果参数{setView:true},就不会重置地图视角

补充:如果要正常显示,必须设置好zoom和center

//1、初始化时设置
var map=L.map(map , {center:latlng , zoom:10 }); //2、通过setView设置
map.setView(latlng,10);

5、属性Properties

Handler是一个类似(函数或者行为)开关的东西,Handler中有两个方法enable()、disable()负责管理这种行为是否允许。Handler的官方说明:Leaflet Handler

//Control
zoomControl //类型Control.zoom,控制默认zoom control //Handler
boxZoom //矩形框缩放(也就是按住SHIFT再按住鼠标左键在地图上画一个框的方式进行缩放)
doubleClickZoom //双击放大
dragging //拖动
keyboard //键盘相关的缩放、平移等
scrollWheelZoom //滚轮缩放

2参数与5属性的区别是,2参数是初始化时候的可选参数,设置时要写成{ Key : Value }的形式;5是Map类的属性,可以通过map.xxx访问。

6、Map Panes

Panes是一个用来控制Layers顺序的DOM元素;可以翻译为窗口。每个Map都有以下这些默认的Panes,它们的区别仅仅在于zIndex的不同——zIndex高的在显示时就会覆盖在zIndex低的上边。

mapPane     //Z:'auto'; 包含其他所有Panes的Pane
tilePane // 200 ;GridLayer和TileLayer
overlayPane //400; Overlay shadow
shadowPane //500; Vector(polylines,polygons...)、ImageOverlay、VideoOverlay
markerPane //600; Icon Marker
tooltipPane //650; Tooltip
popupPane //700; Popup

通过Pane可以看出,默认情况下当几个元素重叠时,显示顺序是Popup-tooltip....

Leaflet:Map类属性及方法的更多相关文章

  1. python 类属性与方法

    Python 类属性与方法 标签(空格分隔): Python Python的访问限制 Python支持面向对象,其对属性的权限控制通过属性名来实现,如果一个属性有双下划线开头(__),该属性就无法被外 ...

  2. python装饰器、继承、元类、mixin,四种給类动态添加类属性和方法的方式(一)

    介绍装饰器.继承.元类.mixin,四种給类动态添加类属性和方法的方式 有时候需要給类添加额外的东西,有些东西很频繁,每个类都需要,如果不想反复的复制粘贴到每个类,可以动态添加. # coding=u ...

  3. python从入门到大神---1、初始化实例、类属性、方法

    python从入门到大神---1.初始化实例.类属性.方法 一.总结 一句话总结: 方法不加括号是代码段:感觉python方法和js,php很类似,不加括号是代码段,加括号变成方法,比如f,f() 1 ...

  4. python干货-类属性和方法,类的方法重写

    类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来 ...

  5. GDI+ —— Tcanvas 类属性及方法.......

    delphi TCanvas类 类关系   TObject-> TPersistent   对那些作图对象,可使用TCanvas对象作为画布.标准的window控件,例如编辑控件和列表框控件,当 ...

  6. python类的使用(类定义,构造器,类属性,方法)

    注:这里只描述使用方法,具体类的概念长篇大论就不要为难我这个懒人了. 总之一句话编程语言只是一个工具,会用就行,好用就行.打破砂锅问到底,我觉得有必要研究一下C,汇编,电子链路等. class clt ...

  7. TCanvas 类属性及方法

    delphi TCanvas类 类关系   TObject-> TPersistent   对那些作图对象,可使用TCanvas对象作为画布.标准的window控件,例如编辑控件和列表框控件,当 ...

  8. Python全栈开发之7、面向对象编程进阶-类属性和方法、异常处理和反射

    一.类的属性 1.@property属性 作用就是通过@property把一个方法变成一个静态属性 class Room: def __init__(self,name,length,width,he ...

  9. Python 进阶_OOP 面向对象编程_类属性和方法

    目录 目录 类属性 调用类属性 查看类属性 特殊的类属性 类方法 真构造器 __new__ 类属性 在理解类属性之前要先搞清楚 实例属性 和 函数属性 之间的区别: 1. 实例属性:指的是实例化类对象 ...

随机推荐

  1. netstat in Linux

    # netstat -unlt Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address         ...

  2. C++ 反汇编:关于Switch语句的优化措施

    流程控制语句是C语言中最基本的判断语句,通常我们可以使用IF来构建多分支结构,但同样可以使用Switch语句构建,Switch语句针对多分支的优化措施有4种形式,分别是,IF-ELSE优化,有序线性优 ...

  3. Java语法专题1: 类的构造顺序

    合集目录 Java语法专题1: 类的构造顺序 问题 下面的第二个问题来源于Oracle的笔试题, 非常经典的一个问题, 我从07年开始用了十几年. 看似简单, 做对的比例不到2/10. 描述一下多级继 ...

  4. 如何使用自对弈强化学习训练一个五子棋机器人Alpha Gobang Zero

    前言 2016年3月,Alpha Go 与围棋世界冠军.职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜,在当时引起了轩然大波.2017年10月,谷歌公布了新版五子棋程序 AlphaGo Ze ...

  5. AT2699 [ARC081D] Flip and Rectangles

    以下是简要题解: 首先思考如何判定一个矩形是否能通过操作变成全黑. 首先从简单而又特殊的 \(2 \times 2\) 的矩形开始,不难发现只要其中黑色数量不为奇数即可. 近一步拓展可以发现,一个矩形 ...

  6. web常用开发工具

    1.WebStorm[推荐] WebStorm 是jetbrains公司旗下一款JavaScript 开发工具.目前已经被广大中国JS开发者誉为"Web前端开发神器"." ...

  7. 电脑预装Office2016打开Word时点击保存弹出“word无法启动转换器RECOVR32.CNV”对话框问题的修复方法

    感谢大佬:https://blog.csdn.net/qq_41969790/article/details/85161701 1.问题描述:电脑预装的Office2016,家庭和学生版正版.每次打开 ...

  8. Jackson 高级应用

    转自:https://www.ibm.com/developerworks/cn/java/jackson-advanced-application/index.html 格式处理(含日期格式) 不同 ...

  9. Android下数据库操作——增删改查

    Android下数据库第一种方式增删改查     1.创建一个帮助类的对象,调用getReadableDatabase方法,返回一个SqliteDatebase对象     2.使用SqliteDat ...

  10. JAVA面向对象特征详解

    1. 封装 封装性的产生目的:保护某些属性和方法不被外部所看见. 封装的实现:为属性和方法进行封装是通过关键字private声明的:实现该属性的set和get方法,为外部所访问 该公开的公开,该私有的 ...