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. linux下查看 SELinux状态及关闭SELinux

    SELinux全称为安全增强式 Security-Enhanced Linux(SELinux),是一个在内核中实践的强制存取控制(MAC)安全性机制.SELinux 首先在 CentOS 4 出现, ...

  2. React 世界的一等公民 - 组件

    猪齿鱼Choerodon平台使用 React 作为前端应用框架,对前端的展示做了一定的封装和处理,并配套提供了前端组件库Choerodon UI.结合实际业务情况,不断对组件优化设计,提高代码质量. ...

  3. 在树莓派上开发SpringBoot 之使用VSCode远程开发

    一些运行在ARM单板电脑上的IoT应用通常会提供RESTful风格的API接口.本次的文章记录如何在本地电脑上通过VS Code的远程开发功能,在树莓派端创建一个SpringBoot工程,并实现调试和 ...

  4. python pyautogui

    使用pyautogui随机调用图库里的一张照片设置为壁纸,每天定时执行 代码 import time import pyautogui import random pyautogui.keyDown( ...

  5. 社交网络分析的 R 基础:(二)变量与字符串

    本章会从 R 语言中最基本的数据类型开始介绍,在此之后就可以开始 R 语言实践了.对社交网络分析而言,我们在处理字符串上所花费的时间要远远大于处理数字的时间,因此本章还会介绍常用的字符串处理操作. 变 ...

  6. freeswitch插件式模块接口实现方式

    概述 freeswitch的外围模块是插件式的,可以动态的加载和卸载,使用起来非常的灵活和方便. 如果我们自己来设计一个开源的代码框架,相信这种插件式的模块结构是非常适合多人合作的模式. 本文对fs的 ...

  7. C语言非阻塞式键盘监听

    监听键盘可以使用C语言的字符输入函数,例如 getchar.getch.getche 等,使用getche函数监听键盘的例子: #include <stdio.h> #include &l ...

  8. nginx实现跨域访问并支持(GET, POST,PUT,DELETE, OPTIONS)

    最近有同事提出在使用客户端跨域访问的时候,发现服务器对option请求返回了403,后来查看了网络添加了一段配置,发现option服务返回204了,但是后续的put操作也直接返回了204导致无法使用图 ...

  9. 基于Socket实现多人聊天室

    当前支持: 1.仅文字 2.加入聊天室提醒 3.退出聊天室提醒 可能出现的BUG: 1.可能出现客户端发送信息后不能及时推送,需要下一个客户端发送信息后一起推送 服务端代码: 1 package co ...

  10. 浅谈.net core如何使用EFCore为一个上下文注类型注入多个实例用于连接主从数据库

    在很多一主多从数据库的场景下,很多开发同学为了复用DbContext往往采用创建一个包含所有DbSet<Model>父类通过继承派生出Write和ReadOnly类型来实现,其实可以通过命 ...