From 2ea3e734e08ac525e997f647f47617f03e6d2028 Mon Sep 17 00:00:00 2001 From: GabrielTrettel Date: Wed, 8 Sep 2021 16:44:04 -0300 Subject: [PATCH] Fixing map markers data structure bug --- src/app/components/MapMarkerList.js | 13 +++++++++---- src/app/components/MapModal.js | 2 +- src/app/components/map/OpenStreetMap.js | 10 ++++------ 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/app/components/MapMarkerList.js b/src/app/components/MapMarkerList.js index 55f8566..aaf036e 100644 --- a/src/app/components/MapMarkerList.js +++ b/src/app/components/MapMarkerList.js @@ -1,3 +1,5 @@ +import {useState} from "react"; + function isRequestedValue(item, renderOptions) { return ( (item.name == "pluviometer" && renderOptions.citzen.pluviometer) || @@ -13,10 +15,13 @@ function isRequestedValue(item, renderOptions) { function MapMarkerList({ markers, renderOptions }) { if (!markers) return null; - - return [...markers.markers].filter(([_, item]) => { - return isRequestedValue(item, renderOptions); - }); + const [selectedMarkers, _] = useState(new Map()); + markers.markers.forEach((item,key) => { + if (isRequestedValue(item, renderOptions)) + selectedMarkers.set(key, item); + }) + + return selectedMarkers } export { MapMarkerList }; diff --git a/src/app/components/MapModal.js b/src/app/components/MapModal.js index abaf187..702981c 100644 --- a/src/app/components/MapModal.js +++ b/src/app/components/MapModal.js @@ -231,7 +231,7 @@ function isPluviometer(name) { function MapModal({ showModal, setShowModal, markers }) { var currentMarker = undefined; - //console.log(markers); + if (markers && showModal != null && markers.has(showModal)) { currentMarker = markers.get(showModal); } diff --git a/src/app/components/map/OpenStreetMap.js b/src/app/components/map/OpenStreetMap.js index 54bf220..462d469 100644 --- a/src/app/components/map/OpenStreetMap.js +++ b/src/app/components/map/OpenStreetMap.js @@ -35,7 +35,7 @@ function bindEventsToListeners( } function notEmpy(lista) { - return lista && lista.length > 0; + return lista && [...lista].length > 0; } export default function OpenStreetMap({ @@ -71,13 +71,11 @@ export default function OpenStreetMap({ notEmpy(markersList) && markersList.forEach((val, k) => { - // console.log(val); - if (val[1].name == "susceptibilityAreas") { - // console.log("floodzones") - insertPolygon(mapRef, val[1].ID, val[1].coordinate); + if (val.name == "susceptibilityAreas") { + insertPolygon(mapRef, val.ID, val.coordinate); } else { - insertMarker(mapRef, val[1].ID, val[1].coordinate, val[1].image); + insertMarker(mapRef, val.ID, val.coordinate, val.image); } }); }