218 lines
6.5 KiB
JavaScript
Executable File
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();
|
|
}
|
|
}
|
|
}
|
|
|