diff --git a/main.js b/main.js index a3ddcc8..9dc94ee 100644 --- a/main.js +++ b/main.js @@ -146,17 +146,22 @@ return `https://2gis.ru/moscow?m=${lon}%2C${lat}%2F${zoom}` } - function makeRef(linkCallback, iconSrc, lat, lon, zoom) { - let container = document.createElement("a") - container.href = linkCallback(lat, lon, zoom) - container.setAttribute('target', "_blank") + function makeRef(linkCallback, iconSrc, zoom) { + let ref = document.createElement("a") + ref.href = linkCallback(lat, lon, zoom) + ref.setAttribute('target', "_blank") + ref.addEventListener("click", function (e) { + let lat = document.querySelector(`input[name="cp[lattitude]"]`).value + let lon = document.querySelector(`input[name="cp[longitude]"]`).value + this.href = linkCallback(lat, lon, zoom) + }) let icon = document.createElement("img") icon.src = iconSrc icon.classList.add("map-icon") - container.appendChild(icon) + ref.appendChild(icon) - return container + return ref } let makeCoordinatesLinks = (function() { @@ -165,17 +170,13 @@ if (executed) return executed = true - let lat = document.querySelector(`input[name="cp[lattitude]"]`).value - let lon = document.querySelector(`input[name="cp[longitude]"]`).value let linksContainer = document.createElement("div") linksContainer.appendChild(copyCoordinates()) - linksContainer.appendChild(makeRef(yandexMaps, "https://upload.wikimedia.org/wikipedia/commons/7/72/Yandex_Maps_icon.svg", lat, lon, ZOOM)) - linksContainer.appendChild(makeRef(googleMaps, "https://upload.wikimedia.org/wikipedia/commons/a/aa/Google_Maps_icon_%282020%29.svg", lat, lon, METERS)) - linksContainer.appendChild(makeRef(pastvu, "https://pastvu.com/coast-icon.png", lat, lon, ZOOM)) - linksContainer.appendChild(makeRef(twoGis, "https://d-assets.2gis.ru/favicon.png", lat, lon, ZOOM)) - - console.log(linksContainer) + linksContainer.appendChild(makeRef(yandexMaps, "https://upload.wikimedia.org/wikipedia/commons/7/72/Yandex_Maps_icon.svg", ZOOM)) + linksContainer.appendChild(makeRef(googleMaps, "https://upload.wikimedia.org/wikipedia/commons/a/aa/Google_Maps_icon_%282020%29.svg", METERS)) + linksContainer.appendChild(makeRef(pastvu, "https://pastvu.com/coast-icon.png", ZOOM)) + linksContainer.appendChild(makeRef(twoGis, "https://d-assets.2gis.ru/favicon.png", ZOOM)) document.querySelector(`div:has(> div > input[name="cp[longitude]"])`).after(linksContainer) }