diff --git a/javascript/buffer.js b/javascript/buffer.js index 8c75709837f346fb523f5134cd2d38dc50d7ebe0..d6a7c7eb4c7bf365c52429310806dc0f718b2182 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 6e562a9eb1aece2c5e61acc9bffd730adf641845..b6e39452150c22774e4fa71f9735f8a13ba0b0ae 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; }