From 2e67f22044c0629749414c28cc878ba244e7a354 Mon Sep 17 00:00:00 2001 From: Markus Koch Date: Sun, 26 Apr 2020 17:55:32 +0200 Subject: Add optional markers for direct location links --- htdocs/mapscript.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/htdocs/mapscript.js b/htdocs/mapscript.js index 6b23688..40d48ab 100644 --- a/htdocs/mapscript.js +++ b/htdocs/mapscript.js @@ -528,18 +528,22 @@ mymap.on('moveend', update_hash_from_position); mymap.on('dragstart', function () { is_user_drag = 1;}); mymap.on('keydown', function (e) { if (e.originalEvent.code.match(/Arrow.*/)) is_user_drag = 1;}); mymap.on('overlayadd', function (e) { update_street_width(); update_outline_visibility(); }); + function onHashChange(e, hash=null) { if (!hash) hash = document.location.hash; if (hash == "#" + get_current_location_str()) return; // We're already there - coordstr = hash.slice(1).replace(/%20/g, "").split(","); + coordstr = decodeURIComponent(hash.slice(1)).split(","); if (coordstr.length < 2) coordstr.push(0); // Default y if (coordstr.length < 3) coordstr.push(mymap.getZoom()); // Default zoom var latlng = L.latLng(parseFloat(coordstr[1]), parseFloat(coordstr[0])); mymap.setView(latlng, parseInt(coordstr[2])); + if (coordstr.length > 3) { /* Drop named marker */ + foo = L.marker(latlng).bindPopup(htmlEntities(coordstr[3])).addTo(mymap).openPopup(); + } } window.addEventListener("hashchange", onHashChange, false); -- cgit v1.2.3