diff --git a/core.php b/core.php
index dd4cef7..6ccd688 100644
--- a/core.php
+++ b/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
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 et extraire le texte cliquable des liens
@@ -69,40 +61,54 @@ function geocode($url)
$ville = $linkElement->nodeValue;
$ville = preg_replace('/^(B\s|\d{2}\s)/', '', $ville);
$href = $linkElement->getAttribute('href');
- //echo $ville . "
";
- //echo "Lien : " . $href . "
";
-
- // Requête à l'API Nominatim
- $options = array(
- 'http' => array(
- 'header' => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3",
- ),
+ $cities[] = array(
+ 'name' => $ville,
+ 'href' => $href,
);
- $context = stream_context_create($options);
- $url = 'https://nominatim.openstreetmap.org/search?city=' . urlencode($ville) . '&format=json';
- $response = file_get_contents($url, false, $context);
- $data = json_decode($response, true);
-
- // Vérifier si la requête a réussi
- if (!empty($data)) {
- // Récupérer les coordonnées géographiques de la première correspondance
- $latitude = $data[0]['lat'];
- $longitude = $data[0]['lon'];
-
- //echo "Latitude : " . $latitude . "
";
- //echo "Longitude : " . $longitude . "
";
-
- // Ajouter la ville et ses coordonnées au tableau
- $cities[] = array(
- 'name' => $ville,
- 'lat' => $latitude,
- 'lon' => $longitude,
- 'href' => $href,
- );
- } else {
- echo "Erreur : Impossible de géocoder la ville : " . $ville;
- }
}
}
- return ($cities);
-}
\ No newline at end of file
+
+ 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(
+ 'http' => array(
+ 'header' => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3",
+ ),
+ );
+ $context = stream_context_create($options);
+ $url = 'https://nominatim.openstreetmap.org/search?city=' . urlencode($ville) . '&format=json';
+ $response = file_get_contents($url, false, $context);
+ $data = json_decode($response, true);
+
+ // Vérifier si la requête a réussi
+ if (!empty($data)) {
+ // Récupérer les coordonnées géographiques de la première correspondance
+ $latitude = $data[0]['lat'];
+ $longitude = $data[0]['lon'];
+
+ // Ajouter la ville et ses coordonnées au tableau
+ $citiesData[] = array(
+ 'name' => $ville,
+ 'lat' => $latitude,
+ 'lon' => $longitude,
+ 'href' => $href,
+ );
+ } else {
+ echo "Erreur : Impossible de géocoder la ville : " . $ville;
+ }
+ }
+
+ return $citiesData;
+}
diff --git a/map.php b/map.php
index 7185b64..2a617b9 100644
--- a/map.php
+++ b/map.php
@@ -10,7 +10,8 @@
-
+
+