1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
| <?php
include ('./../script/connexion.php');
$requete = "select adresse_cheptel, code_postal, commune_cheptel, nom_eleveur, count(*)
from qualyse1_cheptel c, qualyse1_prelevement p
where c.id_cheptel=p.id_cheptel
and resultat='neg'
group by adresse_cheptel, code_postal, commune_cheptel, nom_eleveur
LIMIT 1
";
echo $requete;
$result = $connexion -> query($requete);
$res = $result -> fetch();
echo $res['adresse_cheptel'];
echo $res['code_postal'];
echo $res['commune_cheptel'];
$nom=$res['nom_eleveur'];
echo $nom;
$data = array(
'postalcode' => $res['code_postal'],
'city' => $res['commune_cheptel'],
'country' => 'france',
'format' => 'json',
);
$url = 'https://nominatim.openstreetmap.org/?' . http_build_query($data);
echo $url;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mettre ici un user-agent adéquat');
$geopos = curl_exec($ch);
curl_close($ch);
$resp = json_decode($geopos, true);
// get the important data
echo $lati = $resp[0]['lat'];
echo $longi = $resp[0]['lon'];
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- Nous chargeons les fichiers CDN de Leaflet. Le CSS AVANT le JS -->
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ=="
crossorigin="" />
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js" integrity="sha512-/Nsx9X4HebavoBvEBuyp3I7od5tA0UzAxs+j83KgC8PU0kgB4XiK4Lfe4y4cgBtaRJQEIFCW+oC506aPT2L1zw=="
crossorigin=""></script>
<script type="text/javascript">
// Nous initialisons une liste de marqueurs, les cheptels positifs
var positif = {
<?php echo '"'.$nom.'"' ?> : { "lat": <?php echo $lati ?>, "lon": <?php echo $longi ?> },
"Brest": { "lat": 48.383, "lon": -4.500 },
"Quimper": { "lat": 48.000, "lon": -4.100 },
"Bayonne": { "lat": 43.500, "lon": -1.467 }
};
// Nous initialisons une liste de marqueurs, les cheptels négatifs
var negatif = {
<?php echo '"'.$nom.'"' ?> : { "lat": <?php echo $lati ?>, "lon": <?php echo $longi ?> },
"Brest": { "lat": 49.383, "lon": -4.500 },
"Quimper": { "lat": 46.000, "lon": -4.100 },
"Bayonne": { "lat": 44.500, "lon": -1.467 }
};
// On initialise la latitude et la longitude de Niort (centre de la carte)
var lat = 46.323780;
var lon = -0.457087;
var macarte = null;
// Fonction d'initialisation de la carte
function initMap() {
// Créer l'objet "macarte" et l'insèrer dans l'élément HTML qui a l'ID "map"
macarte = L.map('map').setView([lat, lon], 11);
// Leaflet ne récupère pas les cartes (tiles) sur un serveur par défaut. Nous devons lui préciser où nous souhaitons les récupérer. Ici, openstreetmap.fr
L.tileLayer('https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', {
// Il est toujours bien de laisser le lien vers la source des données
attribution: 'données © <a href="//osm.org/copyright">OpenStreetMap</a>/ODbL - rendu <a href="//openstreetmap.fr">OSM France</a>',
minZoom: 1,
maxZoom: 20
}).addTo(macarte);
// Nous parcourons la liste des cheptels positifs
for (ville in positif) {
// Nous définissons l'icône à utiliser pour le marqueur, sa taille affichée (iconSize), sa position (iconAnchor) et le décalage de son ancrage (popupAnchor)
var myIconpos = L.icon({
iconUrl: "./marq.png",
iconSize: [50, 50],
iconAnchor: [25, 50],
popupAnchor: [-3, -76],
});
var marker = L.marker([positif[ville].lat, positif[ville].lon], { icon: myIconpos }).addTo(macarte);
// Nous ajoutons la popup. A noter que son contenu (ici la variable ville) peut être du HTML
marker.bindPopup(ville);
}
// Nous parcourons la liste des cheptels négatifs
for (ville in negatif) {
// Nous définissons l'icône à utiliser pour le marqueur, sa taille affichée (iconSize), sa position (iconAnchor) et le décalage de son ancrage (popupAnchor)
var myIconneg = L.icon({
iconUrl: "./marqeur.png",
iconSize: [50, 50],
iconAnchor: [25, 50],
popupAnchor: [-3, -76],
});
var marker = L.marker([negatif[ville].lat, negatif[ville].lon], { icon: myIconneg }).addTo(macarte);
// Nous ajoutons la popup. A noter que son contenu (ici la variable ville) peut être du HTML
marker.bindPopup(ville);
}
}
window.onload = function(){
// Fonction d'initialisation qui s'exécute lorsque le DOM est chargé
initMap();
};
</script>
<style type="text/css">
#map{ /* la carte DOIT avoir une hauteur sinon elle n'apparaît pas */
height:400px;
}
</style>
<title>Carte</title>
</head>
<body>
<div id="map">
<!-- Ici s'affichera la carte -->
</div>
</body>
</html> |
Partager