Diff of /src/map-script.js [000000] .. [d7fa72]

Switch to unified view

a b/src/map-script.js
1
let markersArray = [];
2
const markersLayer = L.layerGroup();
3
const overlayMaps = { 'Markers': markersLayer };
4
const layerControl = L.control.layers(null, overlayMaps).addTo(map);
5
map.addLayer(markersLayer)
6
function createMarker(xPos, yPos) {
7
    let counter = markersArray.length+1
8
    let newMarker = L.marker([xPos, yPos]).addTo(markersLayer).bindPopup(counter + " x " + xPos + " y " + yPos)
9
    console.log("New Marker" + counter + " x " + xPos + " y " + yPos)
10
    markersArray.push(newMarker)
11
    document.getElementById('markArrLength').innerHTML = markersArray.length
12
    //console.log(newMarker)
13
}
14
document.getElementById('mapClick').addEventListener('change', e => {
15
    if (document.getElementById('mapClick').checked){
16
        map.addEventListener('click', createMarkerOnClick)
17
    } else {
18
        map.removeEventListener('click', createMarkerOnClick)
19
        }
20
    })
21
function createMarkerOnClick(e) {
22
        let lat = Math.round(e.latlng.lat);
23
        let lng = Math.round(e.latlng.lng);
24
    createMarker(lat, lng)
25
}
26
function showCoord(xPos, yPos) {
27
  map.flyTo([xPos, yPos], map.getZoom())
28
}
29
function flyToMarker(arrayIndex) {
30
    let { lat, lng } = markersArray.at(arrayIndex-1)._latlng;
31
    showCoord(lat, lng)
32
}
33
function showMarkArr() {
34
    let newTable = document.createElement('div');
35
  newTable.setAttribute("id", "popup-list");
36
  let table = document.createElement('table');
37
  newTable.appendChild(table)
38
    let counter = 1;
39
    for (marker of markersArray) {
40
        let { lat, lng } = marker._latlng;
41
        let tr = table.insertRow();
42
        let tdNum =  tr.insertCell();
43
        tdNum.appendChild(document.createTextNode(counter))
44
        counter++;
45
        let tdX = tr.insertCell();
46
        tdX.appendChild(document.createTextNode(lat))
47
        let tdY = tr.insertCell();
48
        tdY.appendChild(document.createTextNode(lng))
49
    }
50
    document.body.appendChild(newTable)
51
}
52
map.addEventListener('mousemove', (event) => {
53
    let lat = Math.round(event.latlng.lat);
54
    let lng = Math.round(event.latlng.lng);
55
    document.getElementById('xMouseCoord').innerHTML = lat;
56
    document.getElementById('yMouseCoord').innerHTML = lng;
57
})
58
//
59
document.getElementById('showMarkersArr').addEventListener('click', (e) => {
60
    if (document.getElementById('showMarkersArr').innerHTML.includes("Show")) {
61
        showMarkArr()
62
        document.getElementById('showMarkersArr').innerHTML = "Hide markers list";
63
    } else {
64
        let table = document.getElementById('popup-list')
65
        table.remove()
66
        document.getElementById('showMarkersArr').innerHTML = "Show markers list";
67
    }
68
})