Files
qt5-legatus-legacy/Lts/Tools/ParticipantPositionGeneratorHTML/leaflet/www/js/inputPos.js
T
2026-08-13 18:33:10 +02:00

218 lines
6.5 KiB
JavaScript
Executable File

var viewPos = [53.05445, 8.89671];
var map = L.map('map').setView(viewPos, 21);
var equipmentNumber = Number(document.getElementById("equipmentNumber").value);
var setStartPos = false;
var setEndPos = false;
var startPos;
var endPos;
var blueIcon = new L.Icon({
iconUrl: 'img/marker-blue.png',
shadowUrl: 'img/marker-shadow.png',
iconSize: [25, 41],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [41, 41]
});
var yellowIcon = new L.Icon({
iconUrl: 'img/marker-yellow.png',
shadowUrl: 'img/marker-shadow.png',
iconSize: [25, 41],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [41, 41]
});
var greenIcon = new L.Icon({
iconUrl: 'img/marker-green.png',
shadowUrl: 'img/marker-shadow.png',
iconSize: [25, 41],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [41, 41]
});
var runIcon = new L.Icon({
iconUrl: 'img/marker-run.png',
shadowUrl: 'img/marker-shadow.png',
iconSize: [25, 41],
iconAnchor: [12, 41],
popupAnchor: [1, 50],
shadowSize: [0, 0]
});
var startIcon = new L.Icon({
iconUrl: 'img/marker-start.png',
iconSize: [12, 20],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [0, 0]
});
var endIcon = new L.Icon({
iconUrl: 'img/marker-ziel.png',
iconSize: [12, 20],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [0, 0]
});
var roomPos=[];
// Floor 1
roomPos[41] = [53.0544134499695, 8.89657970645935, 1.0]; // 101
roomPos[48] = [53.0544415814367, 8.89655747715146, 1.0];
roomPos[53] = [53.0544708770499, 8.89659823903211, 1.0];
roomPos[58] = [53.0544588111309, 8.89664222434108, 1.0];
roomPos[61] = [53.0544382476614, 8.89666158434962, 1.0];
roomPos[66] = [53.0544172818801, 8.89663047532393, 1.0];
roomPos[70] = [53.0544359183058, 8.89660827779814, 1.0];
// Floor 2
roomPos[80] = [53.0544415814367, 8.89655747715146, 4.0];
roomPos[85] = [53.0544708770499, 8.89659823903211, 4.0];
roomPos[90] = [53.0544588111309, 8.89664222434108, 4.0];
roomPos[93] = [53.0544382476614, 8.89666158434962, 4.0];
roomPos[98] = [53.0544172818801, 8.89663047532393, 4.0];
roomPos[102] = [53.0544359183058, 8.89660827779814, 4.0];
roomPos[74] = [53.0544134499695, 8.89657970645935, 4.0];
roomPos[106] = [53.0544359183058, 8.89660827779814, 5.0];
var roomsFloor1=[41, 48, 53, 58, 61, 66, 70];
var roomsFloor2=[74, 80, 85, 90, 93, 98, 102];
var roomsFloor3=[106];
var markerStart;
var markerEnd;
var markerBldg=[];
var imageUrl = 'img/RDE2.jpg',
imageBounds = [[53.0528064472226, 8.89412999153137], [53.056520842139, 8.90030980110168]];
L.imageOverlay(imageUrl, imageBounds).addTo(map);
var imgUrl = 'img/BT56EtageUntengedreht.png',
imgBounds = [[53.0543723254747, 8.89649673130739], [53.0545051794611, 8.89671656638611]];
L.imageOverlay(imgUrl, imgBounds).addTo(map);
for (var i = 0; i < roomsFloor1.length; ++i) {
var ID = roomsFloor1[i];
markerBldg[ID] = new L.marker(roomPos[ID],{icon: blueIcon}).on('click', L.bind(onMarkerClick, null, ID))
.addTo(map).bindPopup("send Room "+ID).openPopup();
}
for (var i = 0; i < roomsFloor2.length; ++i) {
var ID = roomsFloor2[i];
markerBldg[ID] = new L.marker(roomPos[ID],{icon: greenIcon}).on('click', L.bind(onMarkerClick, null, ID))
.bindPopup("send Room "+ID).openPopup();
}
for (var i = 0; i < roomsFloor3.length; ++i) {
var ID = roomsFloor3[i];
markerBldg[ID] = new L.marker(roomPos[ID],{icon: yellowIcon}).on('click', L.bind(onMarkerClick, null, ID))
.bindPopup("send Room "+ID).openPopup();
}
function onMarkerClick(e) {
var moutObjectId = 7;
var moutAreaId = 2;
var moutRoomId = e;
var lat = roomPos[moutRoomId][0];
var lon = roomPos[moutRoomId][1];
var z = roomPos[moutRoomId][2];
sendRoom(moutObjectId, moutAreaId, moutRoomId, lat, lon, z);
}
var popup = L.popup();
var markerParticipant=new L.marker(viewPos,{icon: runIcon}).on('click', onMapClick);
markerParticipant.addTo(map).bindPopup("#"+equipmentNumber).openPopup();
var lat;
var lon;
function onMapClick(e) {
if (setStartPos){
if (!markerStart){
markerStart = new L.marker(e.latlng,{icon: startIcon}).on('click', L.bind(onMarkerClick, null, ID))
.addTo(map).bindPopup("Start move").openPopup();
}
else
{
markerStart.setLatLng( e.latlng);
}
startPos=e.latlng;
setStartPos=false;
return;
}
if (setEndPos){
if (!markerEnd){
markerEnd = new L.marker(e.latlng,{icon: endIcon}).on('click', L.bind(onMarkerClick, null, ID))
.addTo(map).bindPopup("End move").openPopup();
}
else
{
markerEnd.setLatLng( e.latlng);
}
endPos=e.latlng;
setEndPos=false;
return;
}
var moutObjectId = -1;
var moutAreaId = -1;
var moutRoomId = -1;
lat =e.latlng.lat;
lon = e.latlng.lng;
var z = 0;
sendRoom(moutObjectId, moutAreaId, moutRoomId, lat, lon, z);
markerParticipant.setLatLng( [lat, lon]);
var latlng = e.latlng;
latlng.lat= latlng.lat+0.00002;
latlng[1]+=1;
popup
.setLatLng(latlng)
.setContent("" + e.latlng.toString())
.openOn(map);
}
map.on('click', onMapClick);
function changeFloor() {
var val1=$( "#changeFloor" ).val();
console.log("changeFloor="+val1);
if (val1=="floor1"){
console.log ("floor1");
for (var i = 0; i < roomsFloor2.length; ++i) {
map.removeLayer(markerBldg[roomsFloor2[i]]);
}
for (var i = 0; i < roomsFloor3.length; ++i) {
map.removeLayer(markerBldg[roomsFloor3[i]]);
}
for (var i = 0; i < roomsFloor1.length; ++i) {
markerBldg[roomsFloor1[i]].addTo(map).bindPopup("send Room "+roomsFloor1[i]).openPopup();
}
}else if(val1=="floor2"){
for (var i = 0; i < roomsFloor1.length; ++i) {
map.removeLayer(markerBldg[roomsFloor1[i]]);
}
for (var i = 0; i < roomsFloor3.length; ++i) {
map.removeLayer(markerBldg[roomsFloor3[i]]);
}
for (var i = 0; i < roomsFloor2.length; ++i) {
markerBldg[roomsFloor2[i]].addTo(map).bindPopup("send Room "+roomsFloor2[i]).openPopup();
}
}
else if(val1=="floor3"){
for (var i = 0; i < roomsFloor1.length; ++i) {
map.removeLayer(markerBldg[roomsFloor1[i]]);
}
for (var i = 0; i < roomsFloor2.length; ++i) {
map.removeLayer(markerBldg[roomsFloor2[i]]);
}
for (var i = 0; i < roomsFloor3.length; ++i) {
markerBldg[roomsFloor3[i]].addTo(map).bindPopup("send Room "+roomsFloor3[i]).openPopup();
}
}
}