mirror of
https://gitlab.aliens-lyon.fr/encartes/web-interface.git
synced 2026-03-18 15:11:04 +01:00
selection de room: passe à rouge
This commit is contained in:
parent
f7a2c2d483
commit
016a34d50c
14
src/Map.js
14
src/Map.js
@ -46,7 +46,7 @@ function min_max(request)
|
|||||||
return [minX, maxX, minY, maxY];
|
return [minX, maxX, minY, maxY];
|
||||||
}
|
}
|
||||||
|
|
||||||
function list_polygons(request, center, ratio, ind, cb)
|
function list_polygons(request, center, ratio, ind, cb, selectedRoom)
|
||||||
{
|
{
|
||||||
let polygons = [];
|
let polygons = [];
|
||||||
//let tarace = 0;
|
//let tarace = 0;
|
||||||
@ -67,13 +67,13 @@ function list_polygons(request, center, ratio, ind, cb)
|
|||||||
return [(z[1]-center[1])/25, (z[0]-center[0])/25];
|
return [(z[1]-center[1])/25, (z[0]-center[0])/25];
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})).map((x) => {return <Polygon positions={x} key={k} pathOptions={{color: 'grey'}} onClick={() => cb(k)}><Tooltip>{k}</Tooltip></Polygon>})];
|
})).map((x) => {return <Polygon positions={x} key={k} color={selectedRoom === k ? 'red' : 'grey'} onClick={() => cb(k)}><Tooltip>{k}</Tooltip></Polygon>})];
|
||||||
// })).map((x) => {tarace = tarace+1; return <Polygon positions={x} key={k} pathOptions={{color: 'grey'}}><Tooltip permanent direction={tarace % 2 === 0 ? "bottom" : "top"}>{k}</Tooltip><Popup>Popup</Popup></Polygon>})];
|
// })).map((x) => {tarace = tarace+1; return <Polygon positions={x} key={k} pathOptions={{color: 'grey'}}><Tooltip permanent direction={tarace % 2 === 0 ? "bottom" : "top"}>{k}</Tooltip><Popup>Popup</Popup></Polygon>})];
|
||||||
}
|
}
|
||||||
return polygons;
|
return polygons;
|
||||||
}
|
}
|
||||||
|
|
||||||
function layers_list(requestList, cb)
|
function layers_list(requestList, cb, selectedRoom)
|
||||||
{
|
{
|
||||||
let layers = [];
|
let layers = [];
|
||||||
requestList.forEach( (request, ind) =>
|
requestList.forEach( (request, ind) =>
|
||||||
@ -88,7 +88,7 @@ function layers_list(requestList, cb)
|
|||||||
// console.log((maxY-minY)/2284);
|
// console.log((maxY-minY)/2284);
|
||||||
// console.log((maxX-minX)/135);
|
// console.log((maxX-minX)/135);
|
||||||
// console.log(ratio);
|
// console.log(ratio);
|
||||||
const polygons = list_polygons(request, center, ratio, ind, cb);
|
const polygons = list_polygons(request, center, ratio, ind, cb, selectedRoom);
|
||||||
layers = [...layers, <LayersControl.BaseLayer checked={ind === 1 ? true : false} name={"Floor "+String(ind+2)} key={ind}><LayerGroup> {polygons} </LayerGroup></LayersControl.BaseLayer>];
|
layers = [...layers, <LayersControl.BaseLayer checked={ind === 1 ? true : false} name={"Floor "+String(ind+2)} key={ind}><LayerGroup> {polygons} </LayerGroup></LayersControl.BaseLayer>];
|
||||||
})
|
})
|
||||||
return layers;
|
return layers;
|
||||||
@ -99,9 +99,9 @@ function Map({callbackRoomSelected, selectedRoom})
|
|||||||
// When the user selects a room on the map, call callbackRoomSelected.
|
// 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
|
// The room that is currently selected is selectedRoom. It is null if no room
|
||||||
// is selected
|
// is selected
|
||||||
const buildLayers = React.useCallback((request2, request3, request4, callbackRoomSelected) => {
|
const buildLayers = React.useCallback((request2, request3, request4, callbackRoomSelected, selectedRoom) => {
|
||||||
return layers_list([request2, request3, request4], callbackRoomSelected);
|
return layers_list([request2, request3, request4], callbackRoomSelected, selectedRoom);
|
||||||
}, [request2, request3, request4, callbackRoomSelected]);
|
}, [request2, request3, request4, callbackRoomSelected, selectedRoom]);
|
||||||
|
|
||||||
const layers = buildLayers(request2, request3, request4);
|
const layers = buildLayers(request2, request3, request4);
|
||||||
return <MapContainer center={[0,0]} zoom={4} scrollWheelZoom={true} style={{flexGrow: '1'}}>
|
return <MapContainer center={[0,0]} zoom={4} scrollWheelZoom={true} style={{flexGrow: '1'}}>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user