python-visualization/folium

LayerGroup support

Fermée

#1 034 ouverte le 6 déc. 2018

 (13 commentaires) (1 réaction) (0 personne assignée)Python (2 245 forks)batch import
enhancementgood first issuehelp wanted

Métriques du dépôt

Stars
 (6 527 étoiles)
Métriques de merge PR
 (Merge moyen 5j 7h) (5 PRs mergées en 30 j)

Description

Short question

Will Folium ever allow a generation of LayerGroup, or a decision had been made to keep only FeatureGroup?

Details

According to LeafletJS documentation, FeatureGroup extends LayerGroup. They have different JS constructors: L.featureGroup(<Layer[]> layers) with only a list of layers, L.layerGroup(<Layer[]> layers?, <Object> options?) with some options in addition to layers.

When creating a FeatureGroup in Folium, there is a parameter name in its Python constructor (as well as some visualization-related params): __init__(self, name=None, overlay=True, control=True, show=True) However, this name is only used to display a name of this featuregroup in a LayerControl:

var feature_group_bdeeee... = L.featureGroup(name="events").addTo(map_...);
var layer_control_... = {
    base_layers : { "openstreetmap" : ...},
    overlays : { "events" : feature_group_bdeeee... }
}

What I need to have in a generated code for my use-case is a constructor with those options parameter, proposed by LayerGroup:

var layer_group_2... = L.layerGroup(null, {'step': '2'})

This would allow to access those attributes (step in my example) of my featuregroup (layergroup) using some custom JS code to put listeners on some objects.

Example of use case: when hovering step=5 name in a custom div element, 5th circle from events group and 5th marker of another (say, places) group change their CSS classes to highlight the connection between 5th "event" and "place", a bit like zip in Python.

To make it possible, i need L.layerGroup(null, {'step': '1'}) generated code instead of just empty L.featureGroup(). I could write corresponding code and make a PR, if ever this functionality is welcomed by the community :-)

folium version 0.7.0.

Sorry if anything is unclear, this is the 1st issue i open. Don't hesitate to ask for more details. Thanks!

Guide contributeur