diff --git a/src/Map2.js b/src/Map2.js
deleted file mode 100644
index 3580c30..0000000
--- a/src/Map2.js
+++ /dev/null
@@ -1,258 +0,0 @@
-import { MapContainer } from 'react-leaflet/MapContainer';
-import { Marker } from 'react-leaflet/Marker';
-import { Popup } from 'react-leaflet/Popup';
-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 stairs from "./stairs.png";
-import lift from "./lift.png";
-import toilet from "./toilet.png"
-import request from "./test.json"
-import { useMapEvent, useMap } from 'react-leaflet/hooks';
-
-function Stairs({position, size, body})
-{
- // React class (in function form) to represent stairs, takes the position where to put the stairs logo
- // and the body of the popup of the stairs (list of floors accessible from that staircase)
- const map = useMap();
- const [markerIcon, setMarkerIcon] = useState(new L.Icon({ iconUrl: stairs, iconSize: size }));
- const mmap = useMapEvent('zoomend', () => {setMarkerIcon(new L.Icon({ iconUrl: stairs, iconSize: [40*Math.pow(2, map.getZoom() - 4), 40*Math.pow(2, map.getZoom() - 4)]}))});
- return
- {body}
-
-}
-
-function Lift({position, size, body})
-{
- // React class (in function form) to represent lifts, takes the position where to put the lift logo
- // and the body of the popup of the lift (list of floors accessible from that lift)
- const map = useMap();
- const [markerIcon, setMarkerIcon] = useState(new L.Icon({ iconUrl: lift, iconSize: size }));
- const mmap = useMapEvent('zoomend', () => {setMarkerIcon(new L.Icon({ iconUrl: lift, iconSize: [20*Math.pow(2, map.getZoom() - 4), 20*Math.pow(2, map.getZoom() - 4)]}))});
- return
- {body}
-
-}
-
-function Toilet({position, size, body})
-{
- // React class (in function form) to represent lifts, takes the position where to put the lift logo
- // and the body of the popup of the lift (list of floors accessible from that lift)
- const map = useMap();
- const [markerIcon, setMarkerIcon] = useState(new L.Icon({ iconUrl: toilet, iconSize: size }));
- const mmap = useMapEvent('zoomend', () => {setMarkerIcon(new L.Icon({ iconUrl: toilet, iconSize: [20*Math.pow(2, map.getZoom() - 4), 20*Math.pow(2, map.getZoom() - 4)]}))});
- return
- {body}
-
-}
-
-function polygonCenter(polygon)
-{
- // Function to calculate the central point of a given polygon
- let minX = -1;
- let minY = -1;
- let maxX = -1;
- let maxY = -1;
- polygon.forEach((pt) => {
- if (minX === -1 || minX > pt[0]) {
- minX = pt[0];
- }
- if (minY === -1 || minY > pt[1]) {
- minY = pt[1];
- }
- if (maxY === -1 || maxY < pt[1]) {
- maxY = pt[1];
- }
- if (maxX === -1 || maxX < pt[0]) {
- maxX = pt[0];
- }
- })
- return [(minX + maxX) / 2, (maxY + minY) / 2];
-}
-
-function logoSize(polygon)
-{
- // function to calculate the size of a logo to display
- // on a room which edges are in polygon
- let minX = -1;
- let minY = -1;
- let maxX = -1;
- let maxY = -1;
- // We first calculate the maximal coordinates to then output
- // 75% the size of the room
- polygon.forEach((pt) => {
- if (minX === -1 || minX > pt[0]) {
- minX = pt[0];
- }
- if (minY === -1 || minY > pt[1]) {
- minY = pt[1];
- }
- if (maxY === -1 || maxY < pt[1]) {
- maxY = pt[1];
- }
- if (maxX === -1 || maxX < pt[0]) {
- maxX = pt[0];
- }
- })
- // For some unknown reason we have to multiply by 10 otherwise
- // it's almost invisible
- return [30*(maxX - minX)/4, 30*(maxY - minY)/4];
-}
-
-function min_max(request)
-{
- // Function to calculate the minimal and maximal coordinates of all the points in a request
- // (it being a list of polygons, a polygon being a list of points, a point being a list of 2 coordinates)
- let minX = -1;
- let minY = -1;
- let maxX = -1;
- let maxY = -1;
- for (const ind in request)
- {
- const element = request[ind];
- // element can be a room, a lift, a staircase or toilets
- (element["surface"]).forEach((pt) => {
- if (minX === -1 || minX > pt["x"]) {
- minX = pt["x"];
- }
- if (minY === -1 || minY > pt["y"]) {
- minY = pt["y"];
- }
- if (maxY === -1 || maxY < pt["y"]) {
- maxY = pt["y"];
- }
- if (maxX === -1 || maxX < pt["x"]) {
- maxX = pt["x"];
- }
- })
- }
- return [minX, maxX, minY, maxY];
-}
-
-function newPolygon(element, positions, selectedRoom, callback)
-{
- // Auxiliary function to return the appropriate polygon depending
- // on wether it is a room, a lift, a staircase or toilets
- const color = selectedRoom === element["id"] ? 'red' : 'grey';
- //if (element["type"] === "S")
- if (element["id"] === 512 || element["id"] === 517 || element["id"] === 514 || element["id"] === 518)
- {
- // In this case, the room is a staircase so we add a Stairs component
- return callback(element["id"])}}>
- {element["id"]}
-
- { console.log("escalier"); }}>
- YAY
-
-
- uéuéué
-
-
- }
- />
-
- }
- //else if (element["type"] === "L")
- else if (element["id"] === 524 || element["id"] === 523)
- {
- // In this case the room is a lift so we add a Lift component
- return callback(element["id"])}}>
- {element["id"]}
-
- { console.log("ascenseur"); }}>
- YAY
-
-
- uéuéué
-
-
- }
- />
-
- }
- //else if (element["type"] === "T")
- else if (element["id"] === 379)
- {
- return callback(element["id"])}}>
- {element["id"]}
-
- { console.log("toilettes"); }}>
- YAY
-
-
- uéuéué
-
-
- }
- />
-
- }
- else if (element["type"] === "R")
- {
- // In this case it is a regular room
- return callback(element["id"])}}>
- {element["id"]}
-
- }
-}
-
-function list_polygons(request, center, callback, selectedRoom)
-{
- // Main function to calculate the list of polygons (React components)
- // Taking the request as parameter, the center of the points of the request
- // and a callback (callback) to interact with the global web interface
- // when a room is clicked (allowing the display of room informations)
-
- console.log(selectedRoom);
- let polygons = [];
- for (const ind in request)
- {
- const element = request[ind];
- // element can be a room, a lift, a staircase or toilets
- const positions = (element["surface"]).map((pt) => {
- // This function rotates and recenters de the map (should not be necessary once the real data are gathered)
- // It also changes the objects into lists of two coordinates to make it accepted by the "positions" attribute of
- // the "Polygon" react-leaflet component
- return [-(pt["y"] - center[1]) / 25, (pt["x"] - center[0]) / 25];
- });
- const pol = newPolygon(element, positions, selectedRoom, callback);
- polygons = [...polygons, pol];
- }
- return polygons;
-}
-
-function buildPols(request, callback, selectedRoom)
-{
- // This function just calls the list_polygons one with appropriate parameters (precalculate center)
- const minMaxXY = min_max(request);
- const minX = minMaxXY[0];
- const maxX = minMaxXY[1];
- const minY = minMaxXY[2];
- const maxY = minMaxXY[3];
- const center = [(maxX + minX) / 2, (maxY + minY) / 2];
- const polygons = list_polygons(request, center, callback, selectedRoom);
- return polygons;
-}
-
-function Map({ callbackRoomSelected, selectedRoom })
-{
- // 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
- console.log(request);
- console.log(selectedRoom);
- const createPolygons = React.useCallback((request, callbackRoomSelected, selectedRoom) => {
- return buildPols(request, callbackRoomSelected, selectedRoom);
- }, [request, callbackRoomSelected, selectedRoom]);
-
- const polygons = createPolygons(request, callbackRoomSelected, selectedRoom);
- return
- {polygons}
-
-}
-
-export default Map;