Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+32
@@ -0,0 +1,32 @@
|
||||
var formen = [{
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"farbe": "red",
|
||||
"info": "BT 56"
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Polygon",
|
||||
"coordinates": [[
|
||||
[ 8.896696195006372, 53.054442380171004], //Reihenfolge umgekehrt: LonLat
|
||||
[ 8.896603155881166, 53.05449229656882],
|
||||
[ 8.896517828106882, 53.054433855886636],
|
||||
[ 8.89661053195596 , 53.05438418124448]
|
||||
]]
|
||||
}
|
||||
}
|
||||
|
||||
];
|
||||
|
||||
L.geoJson(formen,{
|
||||
style: function(feature){
|
||||
return {weight: 1, color: feature.properties.farbe};
|
||||
},
|
||||
onEachFeature: onEachFeature
|
||||
}
|
||||
).addTo(map);
|
||||
|
||||
function onEachFeature(feature, layer) {
|
||||
if (feature.properties && feature.properties.info) {
|
||||
layer.bindPopup(feature.properties.info);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
var socket;
|
||||
var moutObjectId;
|
||||
var moutAreaId;
|
||||
var equipmentNumber;
|
||||
|
||||
$(function() {
|
||||
|
||||
$("#connectWs").click(function() {
|
||||
connect();
|
||||
});
|
||||
$('#changeFloor').val('floor1').selectmenu('refresh');
|
||||
|
||||
});
|
||||
|
||||
function connect(){
|
||||
var ipadresse=document.getElementById("ipadresse").value;
|
||||
console.log("ipadresse="+ipadresse);
|
||||
var host = "ws://"+ipadresse;
|
||||
console.log("connect "+ipadresse);
|
||||
try{
|
||||
socket = new WebSocket(host);
|
||||
console.log("connect state:" +socket.readyState);
|
||||
socket.onopen = function(){
|
||||
console.log("onopen: connect state:" +socket.readyState);
|
||||
document.getElementById("Serverconnect").innerHTML = "Server: connected";
|
||||
document.getElementById("Serverconnect").style.color = "green"
|
||||
}
|
||||
|
||||
socket.onmessage = function(msg){
|
||||
console.log('<p class="message">Received: '+msg.data);
|
||||
}
|
||||
|
||||
socket.onclose = function(){
|
||||
console.log('<p class="event">Socket Status: '+socket.readyState+' (Closed)');
|
||||
document.getElementById("Serverconnect").innerHTML = "Server: not connected";
|
||||
document.getElementById("Serverconnect").style.color = "red"
|
||||
}
|
||||
|
||||
} catch(exception){
|
||||
console.log('<p>Error'+exception);
|
||||
}
|
||||
}
|
||||
|
||||
function sendRoom(moutObjectId, moutAreaId, moutRoomId, lat, lon, z){
|
||||
equipmentNumber = Number(document.getElementById("equipmentNumber").value);
|
||||
var type = "PositionReport";
|
||||
var timestamp = Date.now();
|
||||
console.log("sendRoom: moutRoomId="+moutRoomId);
|
||||
var latRad = lat*Math.PI/180;
|
||||
var lonRad = lon*Math.PI/180;
|
||||
var jsonMsg = JSON.stringify({ //make JSON-string from the data
|
||||
data:{
|
||||
equipmentNumber: equipmentNumber,
|
||||
lat: latRad,
|
||||
lon: lonRad,
|
||||
moutAreaId: moutAreaId,
|
||||
moutObjectId: moutObjectId,
|
||||
moutRoomId: moutRoomId,
|
||||
timestamp: timestamp,
|
||||
z: z
|
||||
},
|
||||
type: type
|
||||
});
|
||||
|
||||
//socket.send(jsonMsg); //send the JSON telegram
|
||||
|
||||
var jsonMsgNeu = JSON.stringify({ //make JSON-string from the data
|
||||
type:"PositionReport",
|
||||
typeId:21,
|
||||
data:{
|
||||
geoPosition:{
|
||||
lat: latRad,
|
||||
lon: lonRad,
|
||||
z: z
|
||||
},
|
||||
gpsQuality:{
|
||||
dgpsModeAvailable : false,
|
||||
moreThan4SatellitesAvailable: false,
|
||||
pdopValue:0
|
||||
},
|
||||
header:{
|
||||
equipmentNumber: equipmentNumber,
|
||||
timeStamp:timestamp},
|
||||
opsPosition:{
|
||||
moutObjectId : 90,
|
||||
moutRoomId : 7549,
|
||||
opsId : 0},
|
||||
relPosition:{
|
||||
offsetX: 0,
|
||||
offsetY: 0,
|
||||
offsetZ:0}
|
||||
}});
|
||||
console.log(jsonMsgNeu);
|
||||
//socket.send(jsonMsgNeu);
|
||||
// Example:
|
||||
// jsonStr: {"data":{"geoPosition":{"lat":0.9259749342860095,"lon":0.15527446692104546,"z":2},"gpsQuality":{"dgpsModeAvailable":false,"moreThan4SatellitesAvailable":false,"pdopValue":0},"header":{"equipmentNumber":1006,"timeStamp":1581525171137},"opsPosition":{"moutObjectId":90,"moutRoomId":7549,"opsId":0},"relPosition":{"offsetX":0,"offsetY":0,"offsetZ":0}},"type":"PositionReport","typeId":21}
|
||||
}
|
||||
|
||||
function updateUnix(){ //update timestamp
|
||||
date = Date.now();
|
||||
document.getElementById("timestamp").value= date;
|
||||
}
|
||||
|
||||
function showHideFunction() {
|
||||
var x = document.getElementById('inputmenu');
|
||||
if (x.style.display === 'none') {
|
||||
x.style.display = 'block';
|
||||
} else {
|
||||
x.style.display = 'none';
|
||||
}
|
||||
}
|
||||
function hideFunction() {
|
||||
var x = document.getElementById('inputmenu');
|
||||
x.style.display = 'none';
|
||||
}
|
||||
function showFunction() {
|
||||
var x = document.getElementById('inputmenu');
|
||||
x.style.display = 'block';
|
||||
}
|
||||
function hideButtonsFunction() {
|
||||
var x = document.getElementById('buttons');
|
||||
x.style.display = 'none';
|
||||
}
|
||||
function showButtonsFunction() {
|
||||
var x = document.getElementById('buttons');
|
||||
x.style.display = 'block';
|
||||
}
|
||||
function hideMoveFunction() {
|
||||
hideFunction();
|
||||
hideButtonsFunction();
|
||||
var x = document.getElementById('moveMenu');
|
||||
x.style.display = 'none';
|
||||
}
|
||||
function showMoveFunction() {
|
||||
hideFunction();
|
||||
hideButtonsFunction();
|
||||
var x = document.getElementById('moveMenu');
|
||||
x.style.display = 'block';
|
||||
}
|
||||
function backToMenuFunction() {
|
||||
hideMoveFunction();
|
||||
showFunction();
|
||||
showButtonsFunction();
|
||||
var x = document.getElementById('menu');
|
||||
x.style.display = 'block';
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
var paket;
|
||||
var i;
|
||||
var runState = 0;
|
||||
var distLat;
|
||||
var distLon;
|
||||
var lat;
|
||||
var lon;
|
||||
|
||||
function run() {
|
||||
|
||||
console.log("move lat="+lat+" lon="+lon);
|
||||
var equipmentNumber = Number(document.getElementById("equipmentNumber").value);
|
||||
markerParticipant.setLatLng( [lat, lon]);
|
||||
var latlng = [lat, lon];
|
||||
var latlng1 = [lat+0.00002, lon];
|
||||
|
||||
popup
|
||||
.setLatLng(latlng1)
|
||||
.setContent("#" +equipmentNumber+" "+ latlng.toString())
|
||||
.openOn(map);
|
||||
|
||||
var moutObjectId = -1;
|
||||
var moutAreaId = -1;
|
||||
var moutRoomId = -1;
|
||||
var z = 0;
|
||||
sendRoom(moutObjectId, moutAreaId, moutRoomId, lat, lon, z);
|
||||
|
||||
i++;
|
||||
lat=lat+distLat/10;
|
||||
lon=lon+distLon/10;
|
||||
if (i==11){
|
||||
clearInterval(t);
|
||||
runState = 0;
|
||||
}
|
||||
}
|
||||
|
||||
function startMoveFunction() {
|
||||
i = 0;
|
||||
lat = startPos.lat;
|
||||
lon = startPos.lng;
|
||||
console.log("move Start="+startPos.toString()+" End="+ endPos);
|
||||
distLat = endPos.lat - startPos.lat;
|
||||
distLon = endPos.lng - startPos.lng;
|
||||
if (runState==0)
|
||||
{
|
||||
t=setInterval("run()",1000);
|
||||
runState = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
clearInterval(t);
|
||||
runState = 0;
|
||||
}
|
||||
}
|
||||
|
||||
function moveMenu() {
|
||||
hideFunction();
|
||||
shoMoveFunction();
|
||||
}
|
||||
|
||||
function setStartPoint() {
|
||||
setStartPos = true;
|
||||
}
|
||||
|
||||
function setEndPoint() {
|
||||
setEndPos = true;
|
||||
}
|
||||
Reference in new issue
Block a user