diff --git a/index.html b/index.html index 65f85294b8b23fb51f1a9b075abd6fcf1f1e4b32..983e2bf6f980ac516382062777bd7ba756c5caab 100644 --- a/index.html +++ b/index.html @@ -39,7 +39,7 @@ <div id="buttons2" class="box2" style="display: none;"> <p style="width: 32vw;"></p> <button class="button">TIN</button> - <button class="button">Voronoi</button> + <button class="button" onclick="voronoi()">Voronoi</button> </div> </div> @@ -276,6 +276,7 @@ <script src="javascript/union.js"></script> <script src="javascript/extract.js"></script> <script src="javascript/mapChange.js"></script> + <script src="javascript/voronoi.js"></script> <!-- Imported js --> <!-- <script src="https://unpkg.com/shpjs@latest/dist/shp.js"></script> --> diff --git a/javascript/mapChange.js b/javascript/mapChange.js index ef0097af017f29f1bdca626c3fb2564eb4d2d0d9..916c5bb2890d95ec4021a1b254a9a849e6100046 100644 --- a/javascript/mapChange.js +++ b/javascript/mapChange.js @@ -34,7 +34,7 @@ var points = { } } ] -} +}; var m = "m1"; // Hvilket kart en bruker var layersOnMap = []; // Hvilke kartlag som var på før en byttet til "m2" @@ -85,10 +85,13 @@ function changeMap() { document.getElementById("sidebarOpener").style.display = "block"; document.getElementById("mapChanger").style.marginLeft = "8vh"; - // Fjerner punkt-markørene fra kartet: + // Fjerner punkt-markørene og eventuelle voronoi- og TIN-diagram fra kartet: if (map.hasLayer(NTNU_points)) { map.removeLayer(NTNU_points); } + if (isVoronoi) { + voronoi(); + } // Legger til kartlagene som lå i kartet før en byttet kartmodus: while (layersOnMap.length > 0) { diff --git a/javascript/voronoi.js b/javascript/voronoi.js new file mode 100644 index 0000000000000000000000000000000000000000..6eb8ea9b4655466d317f1aafce19952f348360f8 --- /dev/null +++ b/javascript/voronoi.js @@ -0,0 +1,20 @@ +// Variabler: + +var isVoronoi = false; // Vises voronoi-diagrammet i kartet? +// Avgrensning for voronoi-diagrammet +var options = { + bbox: [10.3175248, 63.3911153, 10.5242766, 63.4570029] +}; +// Selve voronoi-diagrammet: +var voronoiPolygons = turf.voronoi(NTNU_points.toGeoJSON(), options); +var voronoiGeoJSON = L.geoJSON(voronoiPolygons, {style: {"color": "orange"}}); + +function voronoi() { + if (isVoronoi) { + map.removeLayer(voronoiGeoJSON) + isVoronoi = false; + } else { + voronoiGeoJSON.addTo(map); + isVoronoi = true; + } +}