2 import { mapState } from '../state/MapState.svelte.js';
4 let visible = $state(false);
6 const view_on_osm_link = $derived(
7 `https://openstreetmap.org/#map=${mapState.zoom}/${mapState.center.lat.toFixed(5)}/${mapState.center.lng.toFixed(5)}`
10 function coordToString(c) {
11 return c ? `${c.lat.toFixed(5)},${c.lng.toFixed(5)}` : '-';
15 <div id="map-position">
17 <div id="map-position-inner">
18 map center: {coordToString(mapState.center)}
19 <a target="_blank" rel="noreferrer" href="{view_on_osm_link}">view on osm.org</a>
21 map zoom: {mapState.zoom}
23 viewbox: {mapState.viewboxStr}
25 last click: {coordToString(mapState.lastClick)}
27 mouse position: {coordToString(mapState.mousePos)}
29 <div id="map-position-close"><a href="#hide" onclick={() => visible = false}>hide</a></div>
31 <button id="show-map-position"
32 class="btn btn-sm btn-outline-secondary"
33 onclick={() => visible = true}>
47 background-color: rgba(255, 255, 255, 0.7);
60 @media (max-width: 768px) {
67 .btn-outline-secondary {
68 background-color: white;
71 .btn-outline-secondary:hover {