Points of interest (cafe, shops, water, toilets, bank/ATM, bus, shelter,
viewpoint, ...) as circular contrasting badges (emoji in a white/dark circle,
readable on light and dark tiles) — not pins. A 📍 control toggles the layer
and opens a per-category filter (checkboxes, remembered). Markers are culled to
the visible bounds and shown from zoom 13 (cap 500/view), on the recording,
track-detail and roads maps.
Data is bundled and fully offline: frontend/data/pois.json ([{la,lo,c,n}], 358KB,
5662 POIs) fetched once from Overpass for ~100km around Novocherkassk (the whole
bbox returned in one query; adaptive subdivision was ready if it had truncated).
Verified functionally on device: 124 badges rendered in view at z16 over
Novocherkassk with correct bounds/category culling; the live visual could not be
screenshotted (the WebView surface is black under CDP). frontend/data + poi.js.
32 lines
1.1 KiB
HTML
32 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ru">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
|
|
<title>BalDav</title>
|
|
<link rel="stylesheet" href="lib/leaflet.css" />
|
|
<link rel="stylesheet" href="css/styles.css" />
|
|
</head>
|
|
<body>
|
|
<div id="app"></div>
|
|
|
|
<!-- Load order matters: db.js and bmr.js expose window.DB / window.BMR,
|
|
then main.js uses them. Tauri injects window.__TAURI__ before page scripts. -->
|
|
<script src="lib/leaflet.js"></script>
|
|
<script src="lib/leaflet-rotate.js"></script>
|
|
<script src="lib/hammer.min.js"></script>
|
|
<script src="lib/chart.min.js"></script>
|
|
<script src="lib/chartjs-plugin-zoom.min.js"></script>
|
|
<script src="lib/jszip.min.js"></script>
|
|
<script src="lib/zxing-wasm.js"></script>
|
|
<script src="js/db.js"></script>
|
|
<script src="js/bmr.js"></script>
|
|
<script src="js/tilecache.js"></script>
|
|
<script src="js/gps.js"></script>
|
|
<script src="js/router.js"></script>
|
|
<script src="js/poi.js"></script>
|
|
<script src="js/sync.js"></script>
|
|
<script src="js/chzn.js"></script>
|
|
<script src="js/main.js"></script>
|
|
</body>
|
|
</html>
|