- Notifications
You must be signed in to change notification settings - Fork22
Creates a Feature Group that adds its child layers into a parent group when added to a map (e.g. through L.Control.Layers)
License
ghybs/Leaflet.FeatureGroup.SubGroup
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Creates a Leaflet Feature Group that adds its child layers into a parent groupwhen added to a map (e.g. through L.Control.Layers).
Typical usage is to dynamically add/remove groups of markers fromMarker Cluster.
Leaflet.markercluster pluginprovides beautiful animated Marker Clustering functionality.
Leaflet is the leading open-source JavaScript libraryfor mobile-friendly interactive maps.
Size: 2 kB minified, < 1 kB gzipped.
Requires Leaflet ^1.0.0
For Leaflet ~0.7.7 use thev0.1.2 release or theleaflet-0.7 branch
Optional:Leaflet.markercluster plugin
- SubGroup with standard L.Control.Layers and MarkerCluster
- SubGroup with standard L.Control.Layers to display Nested Groups
HTML:
<!-- after Leaflet script --><scriptsrc="leaflet.featuregroup.subgroup.js"></script>
#"auto" data-snippet-clipboard-copy-content="var map = L.map("map"), parentGroup = L.markerClusterGroup(options), // Could be any other Layer Group type. // This is where the magic happens! mySubGroup = L.featureGroup.subGroup(parentGroup, arrayOfMarkers);parentGroup.addTo(map);mySubGroup.addTo(map);">varmap=L.map("map"),parentGroup=L.markerClusterGroup(options),// Could be any other Layer Group type.// This is where the magic happens!mySubGroup=L.featureGroup.subGroup(parentGroup,arrayOfMarkers);parentGroup.addTo(map);mySubGroup.addTo(map);
Now adding the sub-group to the map adds clustered markers!
It should virtually be compatible with any LayerGroup plugin, not only MarkerCluster.
- Download the "
leaflet.featuregroup.subgroup.js" file from thev1.0.2release. - Place the file alongside your page.
- Add the
scripttag (seeQuick Guide > HTML) to your page after Leaflet script.
You can alternatively use the freeunpkg CDN service, but keep in mind that it "is a free, best-effort service and cannot provide any uptime or support guarantees".
<!-- After Leaflet script --><scriptsrc="https://unpkg.com/leaflet.featuregroup.subgroup@1.0.2/dist/leaflet.featuregroup.subgroup.js"></script>
Add this package to your project:
$ npm install leaflet.featuregroup.subgroup --save
If you are using a bundling tool, import in your JavaScript.It only performs the side effect of attaching to the global
Lnamespace,so you do not need to store it into a local variable or import a namespace.require("leaflet.featuregroup.subgroup");// Or with ES6:import"leaflet.featuregroup.subgroup";
Simply use theL.featureGroup.subGroup factory instead of your regularL.featureGroup orL.layerGroup:
varmySubGroup=L.featureGroup.subGroup(parentGroup);mySubGroup.addTo(map);
Do not forget to add the parent group to your map.
| Factory | Description |
|---|---|
L.featureGroup.subGroup(<ILayer> parentGroup?,<ILayer[]> layersArray? ) | Creates a sub-group with events, optionally given a parent group and an initial array of child layers. |
| Method | Returns | Description |
|---|---|---|
setParentGroup(<ILayer> parentGroup ) | this | Changes the parent group into which child markers are added to / removed from. |
setParentGroupSafe(<ILayer> parentGroup ) | this | Removes the current sub-group from map before changing the parent group. Re-adds the sub-group to map if it was before changing. |
| getParentGroup() | <ILayer> | Returns the current parent group. |
SubGroup does not provide any extra option or event beyond whatL.LayerGroup andL.FeatureGroup already provide.
If you change the parent group while the sub-group and/or its child markers are still on map, unexpected behaviour of the previous and/or new parent groups can happen.
Make sure the sub-group and its child layers are removed from map before changing the parent group, or use thesetParentGroupSafe method instead.
Leaflet.FeatureGroup.SubGroup is distributed under theBSD 2-clause "Simplified" License, like Leaflet.
About
Creates a Feature Group that adds its child layers into a parent group when added to a map (e.g. through L.Control.Layers)
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.