101 lines
3.7 KiB
HTML
101 lines
3.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>TLT Location Finder</title>
|
|
<link rel="icon" type="image/x-icon" href="/favicon.ico">
|
|
<style>
|
|
#map {
|
|
height: 1000px;
|
|
width: 100%;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<picture>
|
|
<img src="/velendeulogo.jpg" alt="velendeulogojpg" style="float: right; margin-left: 15px; width: 25%;";>
|
|
</picture>
|
|
<h2>TLT Location Finder</h2>
|
|
<form id="search-form">
|
|
<label for="bus-id">Enter TAK:</label>
|
|
<input type="text" id="bus-id" name="bus-id">
|
|
<button type="submit">Search</button>
|
|
</form>
|
|
<form id="recievedData">
|
|
<p id="type">Type: UNFETCHED</p>
|
|
<p id="line">Current line: UNFETCHED</p>
|
|
<p id="lat">Latitude: UNFETCHED</p>
|
|
<p id="long">Longitude: UNFETCHED</p>
|
|
<p id="latlong">Coordinates (Merged): UNFETCHED</p>
|
|
<p id="tak">TAK: UNFETCHED</p>
|
|
<p id="vehicleInfo">Vehicle info: UNFETCHED</p>
|
|
</form>
|
|
|
|
<div id="demoMap" style="height:512px"></div>
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js"></script>
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css" />
|
|
<script src="OpenLayers.js"></script>
|
|
<script src="/socket.io/socket.io.js"></script>
|
|
|
|
<script>
|
|
var socket = io();//
|
|
|
|
// Stuff for the map
|
|
//map = new OpenLayers.Map("demoMap");//.setView([59.4370, 24.7536], 12);
|
|
//map.addLayer(new OpenLayers.Layer.OSM());
|
|
//map.zoomToMaxExtent();
|
|
|
|
map = new OpenLayers.Map("demoMap");
|
|
var mapnik = new OpenLayers.Layer.OSM();
|
|
var fromProjection = new OpenLayers.Projection("EPSG:4326"); // Transform from WGS 1984
|
|
var toProjection = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection
|
|
var position = new OpenLayers.LonLat(24.7536, 59.4370).transform( fromProjection, toProjection);
|
|
var zoom = 12;
|
|
|
|
map.addLayer(mapnik);
|
|
map.setCenter(position, zoom);
|
|
|
|
// Function to handle form submission
|
|
document.getElementById('search-form').addEventListener('submit', function (event) {
|
|
event.preventDefault();
|
|
var tak = document.getElementById('bus-id').value.trim();
|
|
socket.emit('takSearch', tak);
|
|
});
|
|
oldMarker = "1";
|
|
socket.on('takResults', (typeR, lineR, latR, longR, takR, latlongR, vehicleTypeR) => {
|
|
console.log("Datafetch success");
|
|
console.log("Transport Type:", typeR);
|
|
console.log("Line Number:", lineR);
|
|
console.log("Latitude:", latR);
|
|
console.log("Longitude:", longR);
|
|
console.log("Lat long MERGE:", latlongR);
|
|
console.log("TAK:", takR);
|
|
console.log("Vehicle info: ", vehicleTypeR);
|
|
var markerLonLat = new OpenLayers.LonLat(longR, latR).transform(fromProjection, toProjection); // Set marker location
|
|
document.getElementById("type").innerHTML = "Type: " + typeR;
|
|
document.getElementById("line").innerHTML = "Current line: " + lineR;
|
|
document.getElementById("lat").innerHTML = "Latitude: " + latR;
|
|
document.getElementById("long").innerHTML = "Longitude: " + longR;
|
|
document.getElementById("latlong").innerHTML = "Coordinates (Merged): " + latlongR;
|
|
document.getElementById("tak").innerHTML = "TAK: " + takR;
|
|
document.getElementById("vehicleInfo").innerHTML = "Vehicle info: " + vehicleTypeR;
|
|
// Add marker
|
|
var markers = new OpenLayers.Layer.Markers("Markers");
|
|
map.addLayer(markers);
|
|
if (oldMarker != "1") {
|
|
markers.removeMarker(oldMarker)
|
|
}
|
|
newMarker = new OpenLayers.Marker(markerLonLat)
|
|
markers.addMarker(newMarker);
|
|
oldMarker = newMarker;
|
|
});
|
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html> |