You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

277 lines
9.8 KiB

4 years ago
<?php
require("config.php");
8 months ago
require_once("lib/attributes.php");
4 years ago
require_once("lib/functions.php");
8 months ago
$numYear=$numLatestYear;
3 years ago
$strDistrict = (isset($_GET['d'])) ? $_GET['d'] : "Hamm";
$numVehicle = (isset($_GET['v'])) ? (int) $_GET['v'] : 1;
$numYear = (isset($_GET['year'])) ? (int) $_GET['year'] : $numYear;
7 months ago
require_once("lib/init.php");
4 years ago
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/jquery.min.js"></script>
7 months ago
<script src="js/bootstrap.min.js"></script>
4 years ago
<script src="js/leaflet.js"></script>
<script src="js/leaflet.ajax.js"></script>
<script src="js/leaflet.awesome-markers.js"></script>
<script src="js/leaflet.snogylop.js"></script>
<link rel="stylesheet" href="css/font-awesome.min.css">
<link rel="stylesheet" href="css/bootstrap.min.css" />
<link rel="stylesheet" href="css/leaflet.css" />
<link rel="stylesheet" href="css/leaflet.awesome-markers.css" />
<link rel="stylesheet" href="css/style.css" />
4 years ago
<title><?= $strTitle ?></title>
4 years ago
</head>
<body>
8 months ago
<!-- Navbar ######################## -->
4 years ago
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
7 months ago
<div class="collapse navbar-collapse" id="navbars">
4 years ago
<a class="navbar-brand" href="#"><?= $strTitle ?></a>
8 months ago
7 months ago
<ul class="navbar-nav mr-auto">
8 months ago
<form method="GET" action="index.php">
<select name="year" style="float:left;margin-top:0.5em;margin-right:0.5em;" onchange="this.form.submit()">
<?php
for ($i=$numLatestYear;$i>=$numStartYear;$i--) {
$strActive = ($i==$numYear) ? "selected=\"selected\"" : "";
echo "<option value='$i' $strActive >$i</a>";
}
echo "<input type='hidden' name='v' value='$numVehicle'>";
echo "<input type='hidden' name='d' value='$strDistrict'>";
?>
</form>
7 months ago
<form method="GET" action="index.php">
<select name="v" style="float:left;margin-top:0.5em;margin-right:0.5em;" onchange="this.form.submit()">
<?php
foreach ($arrVehicles as $key=>$vehicle)
{
7 months ago
$strActive = ($key==$numVehicle) ? "selected=\"selected\"" : "";
7 months ago
echo "<option value='$key' $strActive >$vehicle</a>";
}
echo "<input type='hidden' name='year' value='$numYear'>";
echo "<input type='hidden' name='d' value='$strDistrict'>";
?>
</form>
7 months ago
</ul>
7 months ago
<!-- District -->
8 months ago
<form method="GET" action="index.php">
<select name="d" style="float:left;margin-top:0.5em;margin-right:0.5em;" onchange="this.form.submit()">
<?php foreach ($arrDistrict as $key => $strTitle):
$strActive = ($strDistrict==$key) ? "selected=\"selected\"" : ""; ?>
<option value="<?=$key?>" <?=$strActive?>><?=$strTitle?></option>
<?php endforeach; ?>
</select>
</form>
7 months ago
7 months ago
<div>
4 years ago
<ul class="navbar-nav mr-auto right">
7 months ago
<li class="nav-item active dropdown">
<a class="nav-link dropdown-toggle" href="./" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Statistik
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="statistics/index.php">Übersicht</a>
<a class="dropdown-item" href="statistics/nrw_details.php">NRW</a>
<a class="dropdown-item" href="statistics/kreise.php">Kreise</a>
<a class="dropdown-item" href="statistics/gemeinden.php">Gemeinden</a>
</div>
</li>
4 years ago
<li class="nav-item">
<a class="nav-link" href="impressum.php">Impressum</a>
</li>
<li class="nav-item">
<a class="nav-link" href="datenschutz.php">Datenschutzerklärung</a>
</li>
</ul>
</div>
8 months ago
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbars" aria-controls="navbars" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
4 years ago
</div>
7 months ago
</nav>
8 months ago
<!-- Ende Navbar ############# -->
4 years ago
<div class="container-fluid" style="margin-top: 4em;">
<div class="row">
<nav class="col-md-2 d-none d-md-block bg-light sidebar">
<div class="sidebar-sticky">
3 years ago
<h1>Jahr <?= $numYear?></h2>
4 years ago
<h2>Unfälle mit <?= $arrVehicles_pl[$numVehicle]; ?> </h2>
4 years ago
<ul class="nav flex-column">
3 years ago
<?php echo get_statistics($numVehicle,$strWhere,$strYear); ?>
4 years ago
</ul>
4 years ago
4 years ago
</div>
</nav>
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-1">
<div id="mapid"></div>
</main>
</div>
<!-- row -->
</div>
<!-- container-fluid -->
10 months ago
<script>
4 years ago
// Map ----------------------------------------------------------------------
var mymap = L.map('mapid').setView([<?=$numInfoLat ?>, <?=$numInfoLng ?>], <?=$numZoom ?>);
var mapLink = '<a href="http://openstreetmap.org">OpenStreetMap</a>';
// ocmlink = '<a href="http://thunderforest.com/">Thunderforest</a>';
var ocmLink = '<a href="https://www.mapbox.com/">Mapbox</a>';
8 months ago
L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=<?=$mapbox_token?>', {
4 years ago
maxZoom: 18,
minZoom:<?=$numZoom ?>,
attribution: 'Map data &copy; '+ mapLink +' contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © ' + ocmLink,
//id: 'mapbox/streets-v11',
id: 'mapbox/outdoors-v11',
tileSize: 512,
zoomOffset: -1
}).addTo(mymap);
// markerIcons ------------------------------------------------------------------------------
var infoMarker = L.AwesomeMarkers.icon({icon: 'info', prefix: 'fa', markerColor: 'orange'});
4 years ago
var bicycleMarker = L.AwesomeMarkers.icon({icon: 'bicycle', prefix: 'fa', markerColor: 'red'});
4 years ago
var carMarker = L.AwesomeMarkers.icon({icon: 'car', prefix: 'fa', markerColor: 'red'});
var truckMarker = L.AwesomeMarkers.icon({icon: 'truck', prefix: 'fa', markerColor: 'beige'});
var trainMarker = L.AwesomeMarkers.icon({icon: 'bus', prefix: 'fa', markerColor: 'blue'});
var pedestrianMarker = L.AwesomeMarkers.icon({icon: 'male', prefix: 'fa', markerColor: 'darkblue'});
function getMarker(topic) {
var arrMarker = [];
<?php
foreach ($arrMarkerType as $key => $value) {
echo "arrMarker[".$key."]=".$value.";\n";
}
?>
return arrMarker[topic];
}
//Hamm-Layer - todo invers area ---------------------------------------
var myStyle = {
"color": "grey",
"fillColor": "lightblue",
"weight": 4,
"opacity": 0.6
};
8 months ago
var districtLayer = new L.GeoJSON.AJAX(["<?= $fileGeojson ?>"], {
4 years ago
style: myStyle,
invert: true
});
8 months ago
districtLayer.addTo(mymap);
4 years ago
// Marker from database -------------------------------------------------------
var marker = [];
var arrDescription = [];
<?php
foreach ($arrMarker as $idx=>$strMarker) {
echo $strMarker."\n";
}
echo "var marker_max=".$markerid."\n";
?>
// Info-Marker für Start --------------------------------------------------------
var marker2 = L.marker([<?=$numInfoLat?>, <?=$numInfoLng?>], { icon: infoMarker }).addTo(mymap);
4 years ago
4 years ago
<?php
4 years ago
echo "marker2.bindPopup('".$strIntro."');";
if ($numVehicle==0) {
echo "marker2.openPopup();";
}
4 years ago
?>
// Hide and show marker form checkbox ----------------------------------------
$('.check').click(function() {
filter = this.name;
4 years ago
if (jQuery(this).prop("checked")) {
jQuery.each(marker, function(key, value) {
if (value) {
10 months ago
if (filter.match(value[1])) { value[0].addTo(mymap); }
4 years ago
}
});
} else {
jQuery.each(marker, function(key, value) {
if (value) {
10 months ago
if (filter.match(value[1])) { value[0].remove(); }
4 years ago
}
});
}
})
10 months ago
function check_all(){
jQuery.each(marker, function(key, value) {
if (value) { value[0].addTo(mymap); }
});
};
function uncheck_all()
{
jQuery.each(marker, function(key, value) {
if (value) { value[0].remove(); }
});
};
4 years ago
10 months ago
$('input[type=radio][name=kategorie]').on('change', function() {
$('.td_ubet').hide();
$('.td_utyp').hide();
$('.td_uart').hide();
$('.td_ukat').hide();
check_all();
$("input[type=checkbox]").prop('checked', $(this).prop('checked'));
switch ($(this).val()) {
case 'UART':
$('.td_uart').show();
break;
case 'UKAT':
$('.td_ukat').show();
break;
case 'UTYP':
$('.td_utyp').show();
break;
case 'UBET':
10 months ago
$('.td_ubet').show();
$('.veh_<?=$numVehicle?>').hide();
10 months ago
break;
}
});
4 years ago
10 months ago
$('.td_ubet').hide();
$('.td_utyp').hide();
$('.td_uart').hide();
$('.td_ukat').show();
$('input:radio[name=kategorie]').val(['UKAT']);
8 months ago
</script>
4 years ago
</body>
</html>