Files
hugoblog/layouts/shortcodes/osm.html
Benno Lorenz 6be162abeb
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 43s
fixed build of shortcode
2025-06-10 00:19:02 +02:00

25 lines
1.1 KiB
HTML

<!--
Usage:
All parameters are optional except lat/lon.
-->
<div id="osm-map-{{ .Get "lat" }}-{{ .Get "lon" }}-{{ .Get "zoom" | default "15" }}" style="height:{{ .Get "height" | default "400px" }};"></div>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
<script>
(function () {
var mapId = "osm-map-{{ .Get "lat" }}-{{ .Get "lon" }}-{{ .Get "zoom" | default "15" }}";
if (!window._osm_maps) window._osm_maps = {};
if (!window._osm_maps[mapId]) {
var map = L.map(mapId).setView(
[{{ .Get "lat" }}, {{ .Get "lon" }}],
{{ .Get "zoom" | default "15" }}
);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
L.marker([{{ .Get "lat" }}, {{ .Get "lon" }}]).addTo(map);
window._osm_maps[mapId] = map;
}
})();
</script>