dissociation de focntions getCities et geocode
This commit is contained in:
parent
a7f7a37e02
commit
19090a6734
44
core.php
44
core.php
@ -35,18 +35,10 @@ function getCalendrier()
|
||||
}
|
||||
return ($calendrier);
|
||||
}
|
||||
|
||||
function geocode($url)
|
||||
function getCities($html)
|
||||
{
|
||||
|
||||
// URL de la page à analyser
|
||||
//$url = $_GET['calendrier'];
|
||||
// $url = 'https://www.sabradou.com/index.php';
|
||||
|
||||
// Récupération du contenu de la page
|
||||
$html = file_get_contents($url);
|
||||
|
||||
// Création d'un objet DOMDocument
|
||||
$html = file_get_contents($html);
|
||||
$dom = new DOMDocument();
|
||||
libxml_use_internal_errors(true); // Ignore les erreurs de parsing HTML
|
||||
$dom->loadHTML($html);
|
||||
@ -58,7 +50,7 @@ function geocode($url)
|
||||
// Recherche des balises <li> dans le div
|
||||
$liElements = $sommaireCentreDiv->getElementsByTagName('li');
|
||||
|
||||
// Tableau pour stocker les villes et leurs coordonnées
|
||||
// Tableau pour stocker les villes
|
||||
$cities = array();
|
||||
|
||||
// Parcourir les balises <li> et extraire le texte cliquable des liens
|
||||
@ -69,8 +61,25 @@ function geocode($url)
|
||||
$ville = $linkElement->nodeValue;
|
||||
$ville = preg_replace('/^(B\s|\d{2}\s)/', '', $ville);
|
||||
$href = $linkElement->getAttribute('href');
|
||||
//echo $ville . "<br />";
|
||||
//echo "Lien : " . $href . "<br />";
|
||||
$cities[] = array(
|
||||
'name' => $ville,
|
||||
'href' => $href,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return $cities;
|
||||
}
|
||||
|
||||
function geocode($cities)
|
||||
{
|
||||
// Tableau pour stocker les villes et leurs coordonnées
|
||||
$citiesData = array();
|
||||
|
||||
// Parcourir les villes et géocoder leurs coordonnées
|
||||
foreach ($cities as $city) {
|
||||
$ville = $city['name'];
|
||||
$href = $city['href'];
|
||||
|
||||
// Requête à l'API Nominatim
|
||||
$options = array(
|
||||
@ -89,11 +98,8 @@ function geocode($url)
|
||||
$latitude = $data[0]['lat'];
|
||||
$longitude = $data[0]['lon'];
|
||||
|
||||
//echo "Latitude : " . $latitude . "<br />";
|
||||
//echo "Longitude : " . $longitude . "<br />";
|
||||
|
||||
// Ajouter la ville et ses coordonnées au tableau
|
||||
$cities[] = array(
|
||||
$citiesData[] = array(
|
||||
'name' => $ville,
|
||||
'lat' => $latitude,
|
||||
'lon' => $longitude,
|
||||
@ -103,6 +109,6 @@ function geocode($url)
|
||||
echo "Erreur : Impossible de géocoder la ville : " . $ville;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ($cities);
|
||||
|
||||
return $citiesData;
|
||||
}
|
5
map.php
5
map.php
@ -10,7 +10,8 @@
|
||||
|
||||
<body>
|
||||
<?php $jour = $_GET['calendrier']; ?>
|
||||
<?php $cities = geocode($jour); ?>
|
||||
<?php $citiesList = getCities($jour); ?>
|
||||
<?php $citiesGeoCode = geocode($citiesList); ?>
|
||||
<?php $calendrier = getCalendrier(); ?>
|
||||
<?php foreach ($calendrier as $item) {
|
||||
if ($item['url'] === $jour) {
|
||||
@ -24,7 +25,7 @@
|
||||
<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); ?>;
|
||||
var cities = <?php echo json_encode($citiesGeoCode); ?>;
|
||||
|
||||
// Créer la carte
|
||||
var map = L.map('map').setView([50.5095, 2.6683], 9);
|
||||
|
Loading…
x
Reference in New Issue
Block a user