function calculateLocator(lat, lng) { lat += 90; lng += 180; const A = 'A'.charCodeAt(0); const locator = [ String.fromCharCode(A + Math.floor(lng / 20)), // Prvý znak (longitude) String.fromCharCode(A + Math.floor(lat / 10)), // Druhý znak (latitude) Math.floor((lng % 20) / 2), // Tretí znak (longitude) Math.floor(lat % 10), // Štvrtý znak (latitude) String.fromCharCode(A + Math.floor((lng % 2) * 12)), // Piaty znak (longitude) String.fromCharCode(A + Math.floor((lat % 1) * 24)) // Šiesty znak (latitude) ]; return locator.join(''); } var map = L.map("map").setView([48.765, 19.276], 8); var maidenhead = L.maidenhead(); L.control.scale({imperial: false, maxWidth: 200,}).addTo(map); L.control.mousePosition().addTo(map); map.addControl(new L.Control.Fullscreen()); map.addControl(L.control.search()); var cesta = L.tileLayer("https://tile.OpenStreetMap.org/{z}/{x}/{y}.png", { maxZoom: 19, zoomAnimation: false, attribution: "© OpenStreetMap upravil Jardo OM7IT mapa.Radio73.sk" }).addTo(map); var topograf = L.tileLayer("https://tile.OpenTopoMap.org/{z}/{x}/{y}.png", { maxZoom: 15, zoomAnimation: false, attribution: "© OpenTopoMap upravil Jardo OM7IT mapa.Radio73.sk"}); var satelit = L.tileLayer("https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}", { maxZoom: 20, zoomAnimation: false, attribution: "© ArcGisOnline upravil Jardo OM7IT mapa.Radio73.sk"}); var svetla = L.tileLayer("https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png", { maxZoom: 20, zoomAnimation: false, attribution: "© CartoDB Jardo OM7IT mapa.Radio73.sk"}); var offline = L.tileLayer("http://localhost:8080/styles/basic-preview/512/{z}/{x}/{y}.png", { maxZoom: 20, zoomAnimation: false, attribution: "© Moje z MBTiles (Offline Mapa)"}); var tura_znacenie = L.tileLayer("https://tile.waymarkedtrails.org/hiking/{z}/{x}/{y}.png", { maxZoom: 19, zoomAnimation: false, attribution: "Wanderwege © Lonvia", opacity: 0.7}); var bike_znacenie = L.tileLayer("https://tile.waymarkedtrails.org/cycling/{z}/{x}/{y}.png", { maxZoom: 19, zoomAnimation: false, attribution: "Wanderwege © Lonvia", opacity: 0.7}); var casove_pasma = L.timezones.bindPopup(function (layer) {return L.Browser.ie? layer.feature.properties.time_zone : new Date().toLocaleString("en-GB", {timeZone:layer.feature.properties.tz_name1st, timeZoneName:"short"});}); // Inicializácia L.Control.SimpleLocate a uloženie do premennej const simpleLocateControl = new L.Control.SimpleLocate({ position: "topleft", className: "button-locate", afterClick: (result) => { }, afterMarkerAdd: () => { // Nájdeme element markeru a pridáme click event const elem = document.getElementById("leaflet-simple-locate-icon-spot"); if (elem) { elem.addEventListener("click", (event) => { // Používame `simpleLocateControl` namiesto `control` const latlng = simpleLocateControl.getLatLng(); const latlng_str = `Pozicia: [${Math.round(latlng.lat * 100000) / 100000}, ${Math.round(latlng.lng * 100000) / 100000}]`; const accuracy = simpleLocateControl.getAccuracy(); const accuracy_str = `Presnost: ${Math.round(accuracy)}m`; const angle = simpleLocateControl.getAngle(); const angle_str = `Smer: ${Math.round(angle)}°`; // Zobrazíme popup na mape L.popup() .setLatLng(latlng) .setContent(`
${latlng_str}
${accuracy_str}
${angle_str}
`) .openOn(map); // Zastavenie propagácie udalosti event.stopPropagation(); event.preventDefault(); }); } }, afterDeviceMove: (event) => { // Získaj aktuálnu polohu z kontroléra const latlng = simpleLocateControl.getLatLng(); // Vystredi mapu na aktuálnu polohu if (latlng) { map.setView(latlng, map.getZoom()); } // Prípadne môžeš použiť map.panTo(latlng) } }).addTo(map); var toggleBackgroundControl = L.control({position: "topleft"}); toggleBackgroundControl.onAdd = function(map) { var div = L.DomUtil.create("div", "toggle-background-control"); div.innerHTML = "