SabradouMap/map.php

56 lines
2.0 KiB
PHP
Raw Normal View History

2023-07-11 18:03:40 +02:00
<?php include("core.php"); ?>
2023-07-11 14:08:23 +02:00
<!DOCTYPE html>
<html>
<head>
<title>Carte OpenStreetMap</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
2023-07-11 18:03:40 +02:00
<div class="container">
<form class="form" action="map.php" method="GET">
<label for="calendrier-list">Sélectionnez une date :</label>
<select name="calendrier" id="calendrier-list">
<?php $calendrier = getCalendrier(); ?>
<?php foreach ($calendrier as $item): ?>
<option value="<?php echo $item['url']; ?>"><?php echo $item['node']; ?></option>
<?php endforeach; ?>
</select>
<input type="submit" value="Afficher sur la carte">
</form>
</div>
<?php if (isset($_GET['calendrier'])): ?>
<?php $jour = $_GET['calendrier']; ?>
<?php $cities = geocode($jour);?>
<?php endif; ?>
2023-07-11 14:08:23 +02:00
<div id="map"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js"></script>
<script>
// Tableau des villes et des coordonnées
var cities = <?php echo json_encode($cities); ?>;
// Créer la carte
var map = L.map('map').setView([50.5095, 2.6683], 8);
// Ajouter une couche de tuiles OpenStreetMap à la carte
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: 'Carte OpenStreetMap'
}).addTo(map);
// Placer des marqueurs pour chaque ville sur la carte
cities.forEach(function (city) {
var marker = L.marker([city.lat, city.lon]).addTo(map);
marker.bindPopup(city.name);
});
// Placer des marqueurs pour chaque ville sur la carte
cities.forEach(function (city) {
var marker = L.marker([city.lat, city.lon]).addTo(map);
marker.bindPopup('<a href="' + city.href + '" target="_blank">' + city.name + '</a>');
});
</script>
</body>
</html>