开发手册 欢迎您!
软件开发者资料库

LeafletJS - 图层组

LeafletJS图层组 - 从简单和简单的步骤学习LeafletJS,从基本到高级概念,包括入门,标记,矢量图层,多折线和多边形,图层组,事件处理,叠加,控件。

图层组

使用图层组,您可以向地图添加多个图层并将其作为单个图层进行管理.

按照步骤操作如下所示,创建 LayerGroup 并将其添加到地图中.

步骤1 : 通过传递< div >创建地图对象element(字符串或对象)和地图选项(可选).

第2步 : 通过传递所需图块的URL来创建图层对象.

步骤3 : 使用 Map 类的 addLayer()方法将图层对象添加到地图.

步骤4 : 通过实例化如下所示的相应类来创建所需的元素(图层),如标记,多边形,圆形等.

//创建标记var hydMarker = new L.Marker([17.385044, 78.486671]);var vskpMarker = new L.Marker([17.686816, 83.218482]);var vjwdMarker = new L.Marker([16.506174, 80.648015]); //创建latlng对象var latlngs = [   [17.385044, 78.486671],   [16.506174, 80.648015],   [17.686816, 83.218482]];//创建一个多边形var polygon = L.polygon(latlngs,{color:'red'});

第5步 : 使用 l.layerGroup()创建图层组.传递上面创建的标记,多边形等,如下所示.

//创建图层组var layerGroup = L. layerGroup([hydMarker,vskpMarker,vjwdMarker,polygon]);

第6步 : 使用 addTo()方法添加在上一步中创建的图层组.

//将图层组添加到map  layerGroup.addTo(map);

示例

以下代码创建一个图层组,其中包含3个标记和一个多边形,并将其添加到map.

         Leaflet Layer Group                           
            

它生成以下输出 :

图层组映射

添加图层(元素)

您可以使用 addLayer()向要素组添加图层方法.对于此方法,您需要传递要添加的元素.

您可以在市中心添加一个城市海德拉巴的圆圈.

//创建一个圆 var circle = L.circle([16.506174,80.648015],50000,{color:'red',fillColor:'# f03',fillOpacity:0}); //将圆圈添加到图层组 layerGroup.addLayer(circle);

它将产生以下输出.  :

添加图层组图

删除图层(元素)

您可以使用 removeLayer()方法从要素组中删除图层.对于此方法,您需要传递要删除的元素.

您可以删除名为Vijayawada的城市上的标记,如下所示.

//从地图中删除图层 layerGroup.removeLayer(vjwdMarker);

它将产生以下输出 :

删除图层地图

功能组

它类似于 LayerGroup ,但它允许鼠标事件和绑定弹出窗口它.您还可以使用 setStyle()方法将样式设置为整个组.

按照以下步骤创建要素组并将其添加到地图中.

第1步 : 通过传递< div >创建地图对象element(字符串或对象)和地图选项(可选).

第2步 : 通过传递所需图块的URL来创建图层对象.

步骤3 : 使用 Map 类的 addLayer()方法将图层对象添加到地图.

步骤4 : 通过实例化各个类来创建所需的标记,多边形和圆形元素(图层),如下所示.

//创建标记 var hydMarker = new L.Marker([17.385044,78.486671]);  var vskpMarker = new L.Marker([17.686816,83.218482]);  var vjwdMarker = new L.Marker([16.506174,80.648015]); //创建latlng对象 var latlngs = [ [17.385044,78.486671], [16.506174,80.648015], [17.686816,83.218482] ]; //创建多边形 var polygon = L.polygon(latlngs,{color:'red'});>

第5步 : 使用 l.featureGroup()创建要素组.传递上面创建的标记,多边形等,如下所示.

//创建要素组 var featureGroup = L .featureGroup([hydMarker,vskpMarker,vjwdMarker,polygon]);

第6步 : 如果将样式设置为要素组,则它将应用于组中的每个元素(图层).您可以使用 setStyle()方法完成此操作,并且需要将值传递给颜色和不透明度等选项.

设置在上一步中创建的要素组的样式.

//为要素组设置样式 featureGroup.setStyle({color : '蓝',不透明度:0.5});

第7步 : 使用 bindPopup()方法绑定弹出窗口,如下所示.

//将弹出窗口绑定到要素组 featureGroup.bindPopup("功能组");

第8步 : 使用 addTo()方法添加在上一步中创建的要素组.

//将图层组添加到map  featureGroup.addTo(map);

示例

以下代码创建一个包含3个标记和一个多边形的要素组,并将其添加到map.

         Leaflet Feature Group                           
            

它生成以下输出 :

添加图层组映射