From b7537b83db84d03b76f6662ba4712b89e04c0218 Mon Sep 17 00:00:00 2001
From: jshjelse <jshjelse@stud.ntnu.no>
Date: Mon, 23 Oct 2023 16:07:25 +0200
Subject: [PATCH] =?UTF-8?q?Begynne=20=C3=A5=20n=C3=B8ste=20opp=20i=20probl?=
 =?UTF-8?q?emet?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 javascript/buffer.js              |  8 ++------
 javascript/turfFormatConverter.js | 20 ++++++++++++++++++--
 2 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/javascript/buffer.js b/javascript/buffer.js
index 8c75709..d6a7c7e 100644
--- a/javascript/buffer.js
+++ b/javascript/buffer.js
@@ -32,19 +32,16 @@ function makeBuffer() {
     var name = document.getElementById("bufferName").value;
 
     // Prøver å kjøre buffer-funksjonen:
-    var buffer = turf.buffer(layer, distance, {units: "meters"}); // Lager buffer
-    console.log(JSON.stringify(buffer));
-    /*
     try {
         var buffer = turf.buffer(layer, distance, {units: "meters"}); // Lager buffer
         
         if (document.getElementById("bufferCheck").checked) { // Om en har huket av for at en skal 'dissolve' gjøres det
             // Dette er nytt
             console.log(JSON.stringify(buffer));
-            /*if (isMultiPolygon(buffer)) { // Kan ikke sende MultiPolygon inn i dissolved
+            if (isMultiPolygon(buffer)) { // Kan ikke sende MultiPolygon inn i dissolved
                 buffer = multiPolygonToFeatureCollection(buffer);
             }
-            
+            // #
             var dissolved = turf.dissolve(buffer);
             var newLayer = L.geoJSON(dissolved, {style: getStyle()});
         } else { // Ellers lager den bare mange ulike buffer-soner
@@ -61,5 +58,4 @@ function makeBuffer() {
     } catch(failure) { // Hvis det ikke går å lage buffer, sendes det en feilmelding
         alert(failure);
     }
-    */
 }
diff --git a/javascript/turfFormatConverter.js b/javascript/turfFormatConverter.js
index 6e562a9..b6e3945 100644
--- a/javascript/turfFormatConverter.js
+++ b/javascript/turfFormatConverter.js
@@ -17,8 +17,24 @@ function featureCollectionToMultiPolygon(layer) { // Funksjon som gjør om featu
 }
 
 function isMultiPolygon(layer) { // Inneholder 'layer' features som er MultiPolygon?
-    if (layer["geometry"]["type"] == "MultiPolygon") {
-        return true;
+    more = false;
+
+    try {
+        if (layer["features"]) {
+            more = true;
+        }
+    } catch {}
+    
+    if (more) {
+        for (var i = 0; i < layer["features"].length; i++) {
+            if (layer["features"][i]["geometry"]["type"] == "MultiPolygon") {
+                return true;
+            }
+        }
+    } else {
+        if (layer["geometry"]["type"] == "MultiPolygon") {
+            return true;
+        }
     }
     return false;
 }
-- 
GitLab