map_viewer
map_viewer
#
MapViewer — locations plotted as markers on a Leaflet map.
MapViewer
#
Bases: Component
locations as markers; labels caption them in order, keys caption a keyed collection.
Built with of, each marker links to its entry's page; given plainly,
the markers link nowhere. An entry with no location is left out. A pin
marker is the one to point at a place; dot is the one to plot hundreds
within a few metres of each other. outline draws a boundary under them
all, and an anchors point is drawn faint beside its marker and joined to
it by a dashed line — where a capture was assigned against where it happened.
cg.ui.MapViewer(target.sessions._metadata._location) # one marker per session, labelled by time
cg.ui.MapViewer(frames.location, marker="dot")
cg.ui.MapViewer.of(target.sessions, lambda s: s.location, label=lambda s: s.notes.value)
Source code in capturegraph-lib/capturegraph/ui/map_viewer.py
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | |
html(render)
#
The Leaflet stylesheet and script (once per page), a map container, and the markers.
Source code in capturegraph-lib/capturegraph/ui/map_viewer.py
of(container, location, label=None, anchor=None, marker='pin', outline=None)
classmethod
#
A map of location over container's elements, each linked to its entry's page.
Without label the markers of a keyed container are captioned by key;
with it, by label — and by the key again wherever label returns
None.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
container
|
Map[K, E] | Array[E]
|
A |
required |
location
|
Callable[[E], Location | None]
|
The marker for one element; |
required |
label
|
Callable[[E], str] | None
|
The caption for one kept element. |
None
|
anchor
|
Callable[[E], Location | None] | None
|
The point one kept element is tied to, drawn faint and joined to its marker. |
None
|
marker
|
Literal['pin', 'dot']
|
How each element is drawn, |
'pin'
|
outline
|
list[Location] | Array | None
|
A boundary drawn under every marker. |
None
|
cg.ui.MapViewer.of(target.sessions, lambda s: s.location)
cg.ui.MapViewer.of(
target.sessions, lambda s: s.location, anchor=lambda s: s.target_location
)