diff --git a/src/Map.js b/src/Map.js
index d955779..097146e 100644
--- a/src/Map.js
+++ b/src/Map.js
@@ -5,6 +5,7 @@ import {Polygon} from 'react-leaflet/Polygon';
import { LayersControl } from 'react-leaflet/LayersControl'
import { LayerGroup } from 'react-leaflet/LayerGroup'
import { Tooltip } from 'react-leaflet/Tooltip'
+import { useState } from "react";
import React from 'react';
import L from 'leaflet';
import request2 from "./M-GN1-2.json"
@@ -45,7 +46,7 @@ function min_max(request)
return [minX, maxX, minY, maxY];
}
-function list_polygons(request, center, ratio, ind)
+function list_polygons(request, center, ratio, ind, cb)
{
let polygons = [];
//let tarace = 0;
@@ -66,13 +67,13 @@ function list_polygons(request, center, ratio, ind)
return [(z[1]-center[1])/25, (z[0]-center[0])/25];
}
})
- })).map((x) => {return Popup})];
+ })).map((x) => {return cb(k)}>{k}})];
// })).map((x) => {tarace = tarace+1; return {k}Popup})];
}
return polygons;
}
-function layers_list(requestList)
+function layers_list(requestList, cb)
{
let layers = [];
requestList.forEach( (request, ind) =>
@@ -87,17 +88,20 @@ function layers_list(requestList)
// console.log((maxY-minY)/2284);
// console.log((maxX-minX)/135);
// console.log(ratio);
- const polygons = list_polygons(request, center, ratio, ind);
- layers = [...layers, {polygons} ];
+ const polygons = list_polygons(request, center, ratio, ind, cb);
+ layers = [...layers, {polygons} ];
})
return layers;
}
-function Map()
+function Map({callbackRoomSelected, selectedRoom})
{
- const buildLayers = React.useCallback((request2, request3, request4) => {
- return layers_list([request2, request3, request4]);
- }, [request2, request3, request4]);
+ // When the user selects a room on the map, call callbackRoomSelected.
+ // The room that is currently selected is selectedRoom. It is null if no room
+ // is selected
+ const buildLayers = React.useCallback((request2, request3, request4, callbackRoomSelected) => {
+ return layers_list([request2, request3, request4], callbackRoomSelected);
+ }, [request2, request3, request4, callbackRoomSelected]);
const layers = buildLayers(request2, request3, request4);
return