|
1 | 1 | from typing import Optional, Union
|
2 | 2 |
|
3 |
| -from branca.element import MacroElement |
4 | 3 | from jinja2 import Template
|
5 | 4 |
|
6 | 5 | from folium.elements import JSCSSMixin
|
7 |
| -from folium.map import Layer |
| 6 | +from folium.features import GeoJson |
| 7 | +from folium.map import FeatureGroup |
8 | 8 | from folium.utilities import JsCode, camelize, parse_options
|
9 | 9 |
|
10 | 10 |
|
11 |
| -class Realtime(JSCSSMixin, MacroElement): |
| 11 | +class Realtime(JSCSSMixin, FeatureGroup): |
12 | 12 | """Put realtime data on a Leaflet map: live tracking GPS units,
|
13 | 13 | sensor data or just about anything.
|
14 | 14 |
|
@@ -42,7 +42,7 @@ class Realtime(JSCSSMixin, MacroElement):
|
42 | 42 | remove_missing: bool, default False
|
43 | 43 | Should missing features between updates been automatically
|
44 | 44 | removed from the layer
|
45 |
| - container: Layer, default GeoJson |
| 45 | + container: FeatureGroup or GeoJson, default GeoJson |
46 | 46 | The container will typically be a `FeatureGroup`, `MarkerCluster` or
|
47 | 47 | `GeoJson`, but it can be anything that generates a javascript
|
48 | 48 | L.LayerGroup object, i.e. something that has the methods
|
@@ -109,7 +109,7 @@ def __init__(
|
109 | 109 | get_feature_id: Union[JsCode, str, None] = None,
|
110 | 110 | update_feature: Union[JsCode, str, None] = None,
|
111 | 111 | remove_missing: bool = False,
|
112 |
| - container: Optional[Layer] = None, |
| 112 | + container: Optional[Union[FeatureGroup, GeoJson]] = None, |
113 | 113 | **kwargs
|
114 | 114 | ):
|
115 | 115 | super().__init__()
|
|
0 commit comments