var traffic; var flow; var navcar; var navcardata; var geojson; var geolat; var geolong; var originalJson; var pol; function getNAVcar() { // var incidents = getTraffic() try { $.ajax({ type: "POST", url: NavCARdata, }).done(function (newdata) { convertdata(newdata); }); function convertdata(data) { navcardata = data; console.log(navcardata); } return navcardata; } catch (err) { console.log("loading Gas Values from DB failed!"); } // pol = decode(navcar.body.routes[0].sections[0].polyline) // geolat = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].LOCATION.GEOLOC.ORIGIN.LATITUDE; // geolong = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].LOCATION.GEOLOC.ORIGIN.LONGITUDE; // var type = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].TRAFFIC_ITEM_DESCRIPTION[0].value; // roadclose = new vcs.vcm.layer.GeoJSON({ // name: "ROAD_CLOSURE", // http://localhost:8083/CONSTRUCTION", // data: geojson, // projection: { // epsg: 4326 // }, // altitudeMode : "relativeToGround", // style: { // image: { // icon: { // src: "./img/traffic/icons8-straßensperre-64.png", // scale: 1 // } // } // }, // heightAboveGround: 0 // }) // framework.addLayer(roadclose) // roadclose.activate(true); } function getAccidents(type) { // var incidents = getTraffic() console.log(traffic); // geolat = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].LOCATION.GEOLOC.ORIGIN.LATITUDE; // geolong = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].LOCATION.GEOLOC.ORIGIN.LONGITUDE; // var type = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].TRAFFIC_ITEM_DESCRIPTION[0].value; if (type == "ROAD_CLOSURE") { roadclose = new vcs.vcm.layer.GeoJSON({ name: "ROAD_CLOSURE", url: ROAD_CLOSURE, data: geojson, projection: { epsg: 4326, }, altitudeMode: "relativeToGround", style: { image: { icon: { src: "./img/traffic/icons8-straßensperre-64.png", scale: 1, }, }, }, heightAboveGround: 0, }); framework.addLayer(roadclose); roadclose.activate(true); } else if (type == "CONSTRUCTION") { trafficlayer = new vcs.vcm.layer.GeoJSON({ name: "CONSTRUCTION", url: CONSTRUCTION, data: geojson, projection: { epsg: 4326, }, altitudeMode: "relativeToGround", style: { image: { icon: { src: "./img/traffic/icons8-im-bau-50.png", scale: 0.5, }, }, }, heightAboveGround: 0, }); framework.addLayer(trafficlayer); trafficlayer.activate(true); } } function deleteAccidents(type) { if (type == "CONSTRUCTION") { var layern = ["CONSTRUCTION"]; var layers = framework.getLayers(); for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layern.indexOf(layer.name) >= 0) { layer.activate(false); } } framework.removeLayerByName("CONSTRUCTION"); } else if (type == "ROAD_CLOSURE") { var layerR = ["ROAD_CLOSURE"]; var layers = framework.getLayers(); for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layerR.indexOf(layer.name) >= 0) { layer.activate(false); } } framework.removeLayerByName("ROAD_CLOSURE"); } } function getFlow() { // var incidents = getTraffic() // geolat = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].LOCATION.GEOLOC.ORIGIN.LATITUDE; // geolong = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].LOCATION.GEOLOC.ORIGIN.LONGITUDE; // var type = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].TRAFFIC_ITEM_DESCRIPTION[0].value; try { $.ajax({ type: "POST", url: FLOWdataUrl, }).done(function (newdata) { convertdata(newdata); }); function convertdata(data) { flow = data; console.log(flow); } return flow; } catch (err) { console.log("loading Gas Values from DB failed!"); } } function getNAV() { // var incidents = getTraffic() // geolat = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].LOCATION.GEOLOC.ORIGIN.LATITUDE; // geolong = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].LOCATION.GEOLOC.ORIGIN.LONGITUDE; // var type = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].TRAFFIC_ITEM_DESCRIPTION[0].value; try { $.ajax({ type: "POST", url: NavCARdataUrl, }).done(function (newdata) { convertdata(newdata); }); function convertdata(data) { navcar = data; console.log(navcar); } return navcar; } catch (err) { console.log("loading Gas Values from DB failed!"); } } function getFlowtest() { // var incidents = getTraffic() // geolat = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].LOCATION.GEOLOC.ORIGIN.LATITUDE; // geolong = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].LOCATION.GEOLOC.ORIGIN.LONGITUDE; // var type = traffic.body.TRAFFIC_ITEMS.TRAFFIC_ITEM[0].TRAFFIC_ITEM_DESCRIPTION[0].value; try { $.ajax({ type: "POST", url: FLOWtestUrl, }).done(function (newdata) { convertdata(newdata); }); function convertdata(data) { flow = data; console.log(flow); } return flow; } catch (err) { console.log("loading Gas Values from DB failed!"); } } function drawFlow() { // document.getElementById("loadermain").style.display = "block"; // url: "http://localhost:8083/FLOW", flowlayer = new vcs.vcm.layer.GeoJSON({ name: "FLOW", url: TrafficFlow, data: geojson, projection: { epsg: 4326, }, altitudeMode: "relativeToGround", heightAboveGround: 0, }); framework.addLayer(flowlayer); flowlayer.activate(true); // var mainlayer; var layern = ["FLOW"]; var layers = framework.getLayers(); // for (var i = 0; i< layers.length; i++) { // var layer = layers[i]; // if(layern.indexOf(layer.name) >= 0){ // mainlayer = layer // } // } // var objectlist = []; // var layerData = {} // var test = 0; // var timeout = setInterval(function() { // if("l" in layerData) { // for (key in layerData.l) { // test +=1; // objectlist.push(layerData.l[key]) // } // // document.getElementById("loadermain").style.display = "block"; // clearInterval(timeout); // isFinished = true; // } else{ // layerData = getLayerforData("CarRoute") // } // }, 1000); // document.getElementById("loadermain").style.display = "none"; } function deleteFlow() { var layern = ["FLOW"]; var layers = framework.getLayers(); for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layern.indexOf(layer.name) >= 0) { layer.activate(false); } } framework.removeLayerByName("FLOW"); } function drawnavcar() { var layern = ["NAVCAR"]; var layers = framework.getLayers(); for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layern.indexOf(layer.name) >= 0) { layer.activate(false); } } framework.removeLayerByName("NAVCAR"); navcarlayer = new vcs.vcm.layer.GeoJSON({ name: "NAVCAR", url: NAVCAR, data: geojson, projection: { epsg: 4326, }, altitudeMode: "relativeToGround", heightAboveGround: 0, }); framework.addLayer(navcarlayer); navcarlayer.activate(true); } function getTraffic() { try { $.ajax({ type: "POST", url: getTrafficIncidentsUrl, }).done(function (newdata) { convertdata(newdata); }); function convertdata(data) { traffic = data; console.log(traffic); } return traffic; } catch (err) { console.log("loading Gas Values from DB failed!"); } } function drawnavpub() { var layern = ["NAVPUB"]; var layers = framework.getLayers(); for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layern.indexOf(layer.name) >= 0) { layer.activate(false); } } framework.removeLayerByName("NAVPUB"); navcarlayer = new vcs.vcm.layer.GeoJSON({ name: "NAVPUB", url: NAVPUB, data: geojson, projection: { epsg: 4326, }, altitudeMode: "relativeToGround", heightAboveGround: 0, }); framework.addLayer(navcarlayer); navcarlayer.activate(true); } //-- Set point in the map function setPoint(location, pointd) { var datapoint = { slat: "", slon: "", sloc: "", }; datapoint.slat = pointd.lat; datapoint.slon = pointd.lon; datapoint.sloc = location; var layern = [location + "point"]; var layers = framework.getLayers(); // hide layer if it already exists for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layern.indexOf(layer.name) >= 0) { layer.activate(false); } } // delete layer if it already exists framework.removeLayerByName(location + "point"); // visualizing with vcs GeoJson function pointlayer = new vcs.vcm.layer.GeoJSON({ name: location + "point", url: addPointurl + "?slat=" + pointd.lat + "&slon=" + pointd.lon + "&sloc=" + location, data: geojson, projection: { epsg: 4326, }, altitudeMode: "relativeToGround", style: { image: { icon: { src: "./images/icons/locationSM.png", scale: 0.5, }, }, }, heightAboveGround: 0, }); framework.addLayer(pointlayer); pointlayer.activate(true); } // Test Funktion function setRouteCar() { var resetBtn = document.getElementById("buttonCar"); resetBtn.disabled = true; resetBtn.innerHTML = '
'; // var loaderBtn = document.getElementById("loaderCar"); // loaderBtn.display = "block"; pointsoe = ""; var datapoint = { slat: "", slon: "", sloc: "Start", elat: "", elon: "", eloc: "End", }; datapoint.slat = document.getElementById("Spunktlat").value; datapoint.slon = document.getElementById("Spunktlon").value; datapoint.sloc = "Start"; datapoint.elat = document.getElementById("Epunktlat").value; datapoint.elon = document.getElementById("Epunktlon").value; datapoint.eloc = "End"; var layern = ["CarRoute"]; var layers = framework.getLayers(); // hide layer if it already exists for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layern.indexOf(layer.name) >= 0) { layer.activate(false); } } // delete layer if it already exists framework.removeLayerByName("CarRoute"); // visualizing with vcs GeoJson function pointlayer = new vcs.vcm.layer.GeoJSON({ name: "CarRoute", url: routecalcurl + "?slat=" + datapoint.slat + "&slon=" + datapoint.slon + "&sloc=" + datapoint.sloc + "&elat=" + datapoint.elat + "&elon=" + datapoint.elon + "&eloc=" + datapoint.eloc, data: geojson, projection: { epsg: 4326, }, altitudeMode: "relativeToGround", style: { image: { icon: { src: "./images/icons/locationSM.png", scale: 0.5, }, }, }, heightAboveGround: 0, }); framework.addLayer(pointlayer); pointlayer.activate(true); // var mainlayer; var layern = ["CarRoute"]; var layers = framework.getLayers(); for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layern.indexOf(layer.name) >= 0) { mainlayer = layer; } } var objectlist = []; var layerData = {}; var test = 0; var timeout = setInterval(function () { if ("l" in layerData) { for (key in layerData.l) { test += 1; objectlist.push(layerData.l[key]); } console.log(test); console.log(objectlist); calcTime(objectlist, "Routeduration"); clearInterval(timeout); isFinished = true; } else { layerData = getLayerforData("CarRoute"); } }, 1000); } function setRoutePublic() { document.getElementById("PubRouteShow").innerHTML = ""; var resetBtn = document.getElementById("buttonPub"); resetBtn.disabled = true; resetBtn.innerHTML = '
'; pointsoe = ""; var datapoint = { slat: "", slon: "", sloc: "Start", elat: "", elon: "", eloc: "End", }; var testingThing; datapoint.slat = document.getElementById("Spunktlat").value; datapoint.slon = document.getElementById("Spunktlon").value; datapoint.sloc = "Start"; datapoint.elat = document.getElementById("Epunktlat").value; datapoint.elon = document.getElementById("Epunktlon").value; datapoint.eloc = "End"; var layern = ["PublicRoute"]; var layers = framework.getLayers(); // hide layer if it already exists for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layern.indexOf(layer.name) >= 0) { layer.activate(false); } } // delete layer if it already exists framework.removeLayerByName("PublicRoute"); // visualizing with vcs GeoJson function pointlayer = new vcs.vcm.layer.GeoJSON({ name: "PublicRoute", url: navpublict2url + "?slat=" + datapoint.slat + "&slon=" + datapoint.slon + "&sloc=" + datapoint.sloc + "&elat=" + datapoint.elat + "&elon=" + datapoint.elon + "&eloc=" + datapoint.eloc, data: testingThing, projection: { epsg: 4326, }, altitudeMode: "relativeToGround", style: { image: { icon: { src: "./images/icons/locationSM.png", scale: 0.5, }, }, }, heightAboveGround: 0, }); framework.addLayer(pointlayer); pointlayer.activate(true); // --- get the Data from the geoJson //======in progress // var mainlayer; var layern = ["PublicRoute"]; var layers = framework.getLayers(); for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layern.indexOf(layer.name) >= 0) { mainlayer = layer; } } var objectlist = []; var layerData = {}; var test = 0; var timeout = setInterval(function () { if ("l" in layerData) { for (key in layerData.l) { test += 1; objectlist.push(layerData.l[key]); } console.log(test); console.log(objectlist); calcTime(objectlist, "RoutedurationPub"); clearInterval(timeout); isFinished = true; } else { layerData = getLayerforData("PublicRoute"); } }, 1000); // var newmain = mainlayer.options.commonLayer.source ////["00c943b2-de4c-4898-bf4b-680b49cd0643"].I //var testing = Object.getOwnPropertyNames(newmain.l).sort() } function calcTime(list, location) { var daystime = 0; var minutestime = 0; var secondstime = 0; var hourstime = 0; for (var i = 0; i < list.length; i++) { daystime += parseFloat(list[i].I.daysDifference); minutestime += parseFloat(list[i].I.minutesDifference); secondstime += parseFloat(list[i].I.secondsDifference); hourstime += parseFloat(list[i].I.hoursDifference); if (location == "RoutedurationPub") { if (i == 0) { var newPoint = document.createElement("div"); newPoint.className = "Travelpoint"; newPoint.innerHTML = "Startpunkt"; // var textnode = document.createTextNode(list[i].I.arrivalPlace.name); document.getElementById("PubRouteShow").appendChild(newPoint); } if (list[i].I.transportInfo.mode == "pedestrian") { var newDiv = document.createElement("div"); newDiv.className = "walkingshape"; newDiv.innerHTML = "zu Fuß"; document.getElementById("PubRouteShow").appendChild(newDiv); if (list[i].I.arrivalPlace.name) { var newPoint = document.createElement("div"); newPoint.className = "Travelpoint"; newPoint.innerHTML = list[i].I.arrivalPlace.name; // var textnode = document.createTextNode(list[i].I.arrivalPlace.name); document.getElementById("PubRouteShow").appendChild(newPoint); } } else if (list[i].I.transportInfo.mode == "subway") { var newDiv = document.createElement("div"); newDiv.className = "subwayshape"; newDiv.innerHTML = "mit U-Bahn"; document.getElementById("PubRouteShow").appendChild(newDiv); var newPoint = document.createElement("div"); newPoint.className = "Travelpoint"; newPoint.innerHTML = list[i].I.arrivalPlace.name; // var textnode = document.createTextNode(list[i].I.arrivalPlace.name); document.getElementById("PubRouteShow").appendChild(newPoint); } else if (list[i].I.transportInfo.mode == "bus") { var newDiv = document.createElement("div"); newDiv.className = "busshape"; newDiv.innerHTML = "mit Bus"; document.getElementById("PubRouteShow").appendChild(newDiv); var newPoint = document.createElement("div"); newPoint.className = "Travelpoint"; newPoint.innerHTML = list[i].I.arrivalPlace.name; // var textnode = document.createTextNode(list[i].I.arrivalPlace.name); document.getElementById("PubRouteShow").appendChild(newPoint); } else if (list[i].I.transportInfo.mode == "cityTrain") { var newDiv = document.createElement("div"); newDiv.className = "subwayshape"; newDiv.innerHTML = "mit S-Bahn"; document.getElementById("PubRouteShow").appendChild(newDiv); var newPoint = document.createElement("div"); newPoint.className = "Travelpoint"; newPoint.innerHTML = list[i].I.arrivalPlace.name; // var textnode = document.createTextNode(list[i].I.arrivalPlace.name); document.getElementById("PubRouteShow").appendChild(newPoint); } } // test +=1; // objectlist.push(layerData.l[key]) } if (hourstime > 59) { var days = Math.floor(hourstime / 24); daystime += parseFloat(days); var hours = hourstime - days * 24; hourstime = parseFloat(hours); } if (minutestime > 59) { var hours = Math.floor(minutestime / 60); hourstime += parseFloat(hours); var minutes = minutestime - hours * 60; minutestime = parseFloat(minutes); } if (secondstime > 59) { var minutes = Math.floor(secondstime / 60); minutestime += parseFloat(minutes); var seconds = secondstime - minutes * 60; secondstime = parseFloat(seconds); } if (hourstime == 0) { document.getElementById(location).value = minutestime + " min " + secondstime + " sek"; } else if (daystime == 0) { document.getElementById(location).value = hourstime + " h " + minutestime + " min " + secondstime + " sek"; } else { document.getElementById(location).value = daystime + " d " + hourstime + " h " + minutestime + " min " + secondstime + " sek"; } if (location == "RoutedurationPub") { var resetBtn = document.getElementById("buttonPub"); resetBtn.disabled = false; resetBtn.innerHTML = "Route berechnen (Öffis)"; var newPoint = document.createElement("div"); newPoint.className = "Travelpoint"; newPoint.innerHTML = "Endpunkt"; // var textnode = document.createTextNode(list[i].I.arrivalPlace.name); document.getElementById("PubRouteShow").appendChild(newPoint); // var textnode = document.createTextNode("Endpunkt"); // document.getElementById("PubRouteShow").appendChild(textnode); // var newDiv = document.createElement("div"); // newDiv.className = "walkingshape"; // var loaderBtn = document.getElementById("loaderPub"); // loaderBtn.display = "none"; // document.getElementById("PubRouteShow").appendChild(newDiv); } else if (location == "Routeduration") { var resetBtn = document.getElementById("buttonCar"); resetBtn.disabled = false; resetBtn.innerHTML = "Route berechnen (Auto)"; // var loaderBtn = document.getElementById("loaderCar"); // loaderBtn.display = "none"; } } function getLayerforData(name) { var layern = [name]; var layers = framework.getLayers(); var mainlayer2; for (var i = 0; i < layers.length; i++) { var layer = layers[i]; if (layern.indexOf(layer.name) >= 0) { mainlayer2 = layer; return mainlayer2.options.commonLayer.source; } } } function CheckboxCheck(type) { if (type == "CONSTRUCTION") { var checkBox = document.getElementById("baucheck"); if (checkBox.checked == true) { console.log("test an"); getAccidents("CONSTRUCTION"); } else { console.log("test off"); deleteAccidents("CONSTRUCTION"); } } else if (type == "ROAD_CLOSURE") { var checkBox = document.getElementById("Streetcheck"); if (checkBox.checked == true) { getAccidents("ROAD_CLOSURE"); } else { deleteAccidents("ROAD_CLOSURE"); } } else if (type == "FLOW") { var checkBox = document.getElementById("flowcheck"); if (checkBox.checked == true) { drawFlow(); } else { deleteFlow(); } } }