LayerGroup(Layer)

Layer

用法:把一些Layer集中到一个组Group中,以便作为一个整体进行操作。如果把该Group加入到了Map中,任何从这个Group增加或者移除Layer的行为都将导致该Layer在Map中被执行相同的操作。

1、用例

L.layerGroup([marker1 , marker2])
.addLayer(polyline)
.addTo(map);

这段代码表示,①创建一个LayerGroup,该LayerGroup初始是由两个Layer对象marker1和marker2组成的;②在初始LayerGroup中加入了一个新的Layer对象polyline;③把该LayerGroup加入到Map中。

2、初始化

L.layerGroup(<Layer[]>layers? , <Object>options)

3、参数

继承自Layer

4、方法

addLayer(<Layer>layer) //把layer加入到Group中
removeLayer(<Layer>layer) //从Group中移除layer
removeLayer(id) //移除id对应的layer
clearLayers() //移除Group中所有layer
eachLayer( <Function> fn , <Object>context? ) //对每个Layer都进行函数fn,context是每个fn的上下文
getLayer(id) //返回id对应的Layer
getLayers() //返回一个Layer[],其中包含了所有的Layer
setZIndex(n) //设置该Group的zIndex,会对Group中的所有Layer都设置为相同的zIndex
getLayerId(<Layer>layer)//返回layer的ID

继承自Layer的方法

FeatureGroup(LayerGroup)

继承自LayerGroup,可以让Group中的Layer更容易实现同一件事情:

  • bindPopup将为Group中的所有Layer都绑定一个Popup(bindTooltip也同样);
  • 作用在Group上的event Handler,将对其中Layer上的事件进行响应,包括自定义事件和鼠标事件;
  • 拥有layeradd和layerremove事件

1、用例

L.featureGroup([marker1 , marker2 , polyline])
.bindPopup('Helloworld!')
.on('click',function(){alert('Clicked on a member of the group!');})
.addTo(map);

这个FeatureGroup由三个Layer组成:marker1、marker2、polyline;每个Layer都有一个Popup,且每个Layer都会对事件'click'进行响应。

2、初始化

L.featureGroup(<Layer[]>layers?, options)

3、参数

继承于Layer

4、方法

setStyle(<Path options>style)//对Group中每个实现了setStyle方法的Layer用给定参数进行setStyle
bringToFront() //把该Group放在其他所有Layer之上
bringToBack() //把该Group放在其他所有Layer之下
getBounds() //返回该Group的Bounds

其他方法继承自LayerGroup、Layer

Leaflet:LayerGroup、FeatureGroup的更多相关文章

  1. Leaflet:LatLng、LatLngBounds、Point、Bounds、Icon

    LatLng 代表一个有着确定经纬度坐标的地理点. 1.用例 var latlng = L.latlng(50.5,30.5); 所有Leaflet的方法中接收的LatLng参数均可以用数组[ ]或者 ...

  2. Leaflet:Path、Polyline、Polygon、Rectangle、Circle、CircleMarker

    下边介绍Vector Layer Path(Layer) Path是其他Vector Layer的父类,比如Polyline.Polygon.Rectangle.Circle.CircleMarker ...

  3. Leaflet:Marker、Popup类

    Marker.Popup.Tooltip类都是继承自Layer类:Event与Layer Marker 1.用例 L.marker([41,123]).addTo(map); 2.实例化 L.mark ...

  4. Leaflet:Event与Layer类属性、方法

    Event 之所以要说Event,是因为很多类都是继承自Layer--Marker.Popup.Tooltip.Path以及继承自Path的Circle.Polyline.Polygon...:而La ...

  5. Leaflet_扩展Leaflet:类(2017-10-26)

    扩展教程:http://leafletjs.com/examples/extending/extending-1-classes.html 翻译 该教程介绍扩展Leaflet最常用的方式. 注意:本文 ...

  6. Leaflet:控件Control相关

    Leaflet官方文档中只给出了4种控件:Zoom.Attribution.Layers.Scale:它们都是继承自Control类,具体可以参考Control. Control Zoom.Scale ...

  7. R+大地图时代︱ leaflet/leafletCN 动态、交互式绘制地图(遍地代码图)

    好久没有学习R的新包了,甚是想念啊! 昨天.今天看到两个极好.不得不学的packages+早上被AWS的服务器整得郁闷ing-于是就来点颜色看看~ 本篇受Lchiffon老师的github启发,对两个 ...

  8. 【.net 深呼吸】细说CodeDom(2):表达式、语句

    在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...

  9. .NET Core系列 :3 、使用多个项目

    通过前面的两篇文章,我们已经知道如何创建新的项目,如何生成并运行我们的应用程序,也知道(大致) project.json 文件中的内容是什么意思.但大多数项目往往也需要多个项目或引用的类库.我们要创建 ...

随机推荐

  1. 学习Java第1天

    今天所做的工作:1.了解Java语言的发展历史 2.安装了Eclipse软件 3.学习了Eclipse的基本使用方法 4.学习了Java基本输出语法 5.成功输出了helloworld 6.学习了Ja ...

  2. Kubernetes之日志和监控(十五)

    一.日志和监控 1.1.Log 1.1.1.容器级别 通过docker命令查看容器级别的日志 docker ps --->containerid docker logs containerid ...

  3. Django ORM 多对多操作 使用聚合函数和分组 F查询与Q查询

    创建表 # models.py form django.db import models class Book(models.Model): # 表名book,django会自动使用项目名+我们定义的 ...

  4. 布客&#183;ApacheCN 编程/大数据/数据科学/人工智能学习资源 2020.4

    公告 我们的机器学习群(915394271)正式改名为财务提升群,望悉知. 请关注我们的公众号"ApacheCN",回复"教程/路线/比赛/报告/技术书/课程/轻小说/漫 ...

  5. python办公自动化系列之金蝶K3自动登录(一)

    做办公自动化的小伙伴都知道,驱动SAP GUI我们有SAP原生提供的[脚本录制与回放]以及SAP Scripting API可参考:驱动Office Excel等,我们有微软提供的[录制宏]功能:驱动 ...

  6. js静态成员和实例成员

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. CSS 圆角框

    转载请注明来源:https://www.cnblogs.com/hookjc/ 其实这种圆角框是靠一个个容器堆砌而成的,每一个容器的宽度不同,这个宽度是由margin外边距来实现的,如:margin: ...

  8. vue中mapGetters和...mapGetters

    vuex中的...mapGetters(['name'])如何实现的 vuex vue.js 根据文档介绍 https://vuex.vuejs.org/zh-cn/... 和看了 http://ww ...

  9. 关于MPMoviePlayerController 缓存播放的一些技术准备

    如果是视频文件,比如Mp4,avi,rmvb等可根据下面的这边文章推荐的Demo(http://code4app.com/ios/5292c381cb7e8445678b5ac2),经过测试可以进行同 ...

  10. linux内核可以接受的参数 | Linux kernel启动参数 | 通过grub给内核传递参数

    在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项. 2.当kernel启动之时,可以参数在kernel被GRUB ...