Einzelne vereinfachungen und verstehen
This commit is contained in:
parent
88c7a49235
commit
e815686509
|
@ -26,151 +26,143 @@ var boudoirIcon = new threeIcon({ iconUrl: 'boudoir.png' });
|
|||
//Import des données JSON du fichier historiqueMarqueurs.json (fonctionne si et seulement si le serveur est online)
|
||||
// (à l'avenir mettre en place une petite base de données type Firebase)
|
||||
fetch('historiqueMarqueurs.json')
|
||||
.then(function(response) {
|
||||
return response.json();
|
||||
})
|
||||
.then(response => response.json())
|
||||
// Ajout des marqueurs du fichier JSON grâce à la fonction addMarkersFromJson
|
||||
.then(function(json) {
|
||||
addMarkersFromJson(json);
|
||||
console.log('Contenu du fichier JSON :', json);
|
||||
})
|
||||
.then(json => addMarkersFromJson(json))
|
||||
//Erreur
|
||||
.catch(function(error) {
|
||||
console.error('Les marqueurs ne peuvent être chargés', error);
|
||||
});
|
||||
.catch(error => console.error('Could not load markers', error));
|
||||
|
||||
|
||||
// Fonction ajout des marqueurs depuis le fichier JSON
|
||||
function addMarkersFromJson(json) {
|
||||
// Pour chaque marqueurs
|
||||
for (var i = 0; i < json.length; i++) {
|
||||
var markerData = json[i];
|
||||
var markerIcon = markerData.icon === 'baum' ? baumIcon : boudoirIcon;
|
||||
var marker = L.marker([markerData.latitude, markerData.longitude], {icon : markerIcon}).addTo(map);
|
||||
marker.bindPopup('<h2>' + markerData.title + '</h2>' + '<p><b>' + markerData.date + '</b></p>' + '<p>' + markerData.desc + '</p>');
|
||||
cluster1.addLayer(marker)
|
||||
map.addLayer(cluster1);
|
||||
//cluster1.addLayer(marker)
|
||||
//map.addLayer(cluster1);
|
||||
}
|
||||
}
|
||||
|
||||
// Fonction ajout marqueur
|
||||
//function addMarker(e) {
|
||||
////alert("coucou");
|
||||
//
|
||||
// // Récupérer la valeur du select-icon pour ajouter la bonne icône
|
||||
// var select = document.getElementById('three-select').value;
|
||||
//
|
||||
// // Récupérer latitude et longitude
|
||||
// var latitude = e.latlng.lat;
|
||||
// var longitude = e.latlng.lng;
|
||||
//
|
||||
// // Création d'un formulaire lors de l'ajout d'un marqueur
|
||||
// var form = document.createElement('form');
|
||||
// form.id = "myForm"
|
||||
//
|
||||
// // Format du formulaire
|
||||
// form.innerHTML =
|
||||
// '<b><label for="marker-title">Name of the tree :</label>' +
|
||||
// '<br><input style="bottom: 10px" type="text" id="marker-title" name="marker-title" required>' +
|
||||
// '<div></div>' +
|
||||
//
|
||||
//
|
||||
// '<br><b><label for="marker-date">Date of Beginning</label>' +
|
||||
// '<br><textarea id="marker-date" name="marker-date" required></textarea>' +
|
||||
// '<div></div>' +
|
||||
// '<br><b><label for="marker-date2">Date of End : (put xxx if none) </label>' +
|
||||
// '<br><textarea id="marker-date2" name="marker-date2" required></textarea>' +
|
||||
// '<div></div>' +
|
||||
//
|
||||
// '<br><b><label for="marker-desc">Description :</label>' +
|
||||
// '<br><textarea id="marker-desc" name="marker-desc" required></textarea required>' +
|
||||
// '<div></div>' +
|
||||
//
|
||||
// '<br><button style="background: none" type="submit" required>Add on map</button>';
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// // Sélection de la bonne icône en fonction du select
|
||||
// switch (select) {
|
||||
// case 'boudoir':
|
||||
// //Ajout de l'icône à la carte
|
||||
// var marker = L.marker([e.latlng.lat, e.latlng.lng], { icon: boudoirIcon }).addTo(map).bindPopup(form);
|
||||
// //Ajout de du marqueur au cluster
|
||||
// break;
|
||||
//
|
||||
// case 'baum':
|
||||
// //Ajout de l'icône à la carte
|
||||
// var marker = L.marker([e.latlng.lat, e.latlng.lng], { icon: baumIcon }).addTo(map).bindPopup(form);
|
||||
// //Ajout de du marqueur au cluster
|
||||
// break;
|
||||
// case 'default':
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// // Ajout de l'action pour le formulaire
|
||||
//form.action = "ecrire_json.php";
|
||||
//
|
||||
//// Lors du submit
|
||||
//form.addEventListener('submit', function (event) {
|
||||
// // Empêche le rechargement de la page
|
||||
// event.preventDefault();
|
||||
//
|
||||
// //Récupérer les valeurs des champs précedémment remplis
|
||||
// var title = document.getElementById('marker-title').value;
|
||||
// var date = document.getElementById('marker-date').value;
|
||||
// var date2 = document.getElementById ('marker-date2').value;
|
||||
// var desc = document.getElementById('marker-desc').value;
|
||||
//
|
||||
// //Actualisation de la pop-up avec les informations
|
||||
// marker.setPopupContent('<h2>' + title + '</h2>' + '<p><b>' + date + '</b></p>' + '<p><b>' + date2 + '</b></p>' + '<p>' + desc + '</p>');
|
||||
//
|
||||
//
|
||||
//
|
||||
// // Création d'un objet contenant les données à envoyer
|
||||
// var data = {
|
||||
// "lat": latitude,
|
||||
// "lng": longitude,
|
||||
// "category": select,
|
||||
// "title": title,
|
||||
// "date": date,
|
||||
// "date2": date2,
|
||||
// "description": desc
|
||||
// };
|
||||
//
|
||||
// // Conversion des données en chaîne JSON
|
||||
// var jsonData = JSON.stringify(data);
|
||||
//
|
||||
// // Envoi des données au serveur via une requête AJAX
|
||||
// var xhr = new XMLHttpRequest();
|
||||
// xhr.open("POST", "enregistrer_donnees.php", true);
|
||||
// xhr.setRequestHeader("Accept", "application/json");
|
||||
// xhr.send(jsonData);
|
||||
//});
|
||||
//
|
||||
function addMarker(e) {
|
||||
alert("coucou");
|
||||
|
||||
// Récupérer la valeur du select-icon pour ajouter la bonne icône
|
||||
var select = document.getElementById('three-select').value;
|
||||
|
||||
// Récupérer latitude et longitude
|
||||
var latitude = e.latlng.lat;
|
||||
var longitude = e.latlng.lng;
|
||||
|
||||
// Création d'un formulaire lors de l'ajout d'un marqueur
|
||||
var form = document.createElement('form');
|
||||
form.id = "myForm"
|
||||
|
||||
// Format du formulaire
|
||||
form.innerHTML =
|
||||
'<b><label for="marker-title">Name of the tree :</label>' +
|
||||
'<br><input style="bottom: 10px" type="text" id="marker-title" name="marker-title" required>' +
|
||||
'<div></div>' +
|
||||
|
||||
|
||||
'<br><b><label for="marker-date">Date of Beginning</label>' +
|
||||
'<br><textarea id="marker-date" name="marker-date" required></textarea>' +
|
||||
'<div></div>' +
|
||||
'<br><b><label for="marker-date2">Date of End : (put xxx if none) </label>' +
|
||||
'<br><textarea id="marker-date2" name="marker-date2" required></textarea>' +
|
||||
'<div></div>' +
|
||||
|
||||
'<br><b><label for="marker-desc">Description :</label>' +
|
||||
'<br><textarea id="marker-desc" name="marker-desc" required></textarea required>' +
|
||||
'<div></div>' +
|
||||
|
||||
'<br><button style="background: none" type="submit" required>Add on map</button>';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Sélection de la bonne icône en fonction du select
|
||||
switch (select) {
|
||||
case 'boudoir':
|
||||
//Ajout de l'icône à la carte
|
||||
var marker = L.marker([e.latlng.lat, e.latlng.lng], { icon: boudoirIcon }).addTo(map).bindPopup(form);
|
||||
//Ajout de du marqueur au cluster
|
||||
break;
|
||||
|
||||
case 'baum':
|
||||
//Ajout de l'icône à la carte
|
||||
var marker = L.marker([e.latlng.lat, e.latlng.lng], { icon: baumIcon }).addTo(map).bindPopup(form);
|
||||
//Ajout de du marqueur au cluster
|
||||
break;
|
||||
case 'default':
|
||||
break;
|
||||
}
|
||||
|
||||
// Ajout de l'action pour le formulaire
|
||||
form.action = "ecrire_json.php";
|
||||
|
||||
// Lors du submit
|
||||
form.addEventListener('submit', function (event) {
|
||||
// Empêche le rechargement de la page
|
||||
event.preventDefault();
|
||||
|
||||
//Récupérer les valeurs des champs précedémment remplis
|
||||
var title = document.getElementById('marker-title').value;
|
||||
var date = document.getElementById('marker-date').value;
|
||||
var date2 = document.getElementById ('marker-date2').value;
|
||||
var desc = document.getElementById('marker-desc').value;
|
||||
|
||||
//Actualisation de la pop-up avec les informations
|
||||
marker.setPopupContent('<h2>' + title + '</h2>' + '<p><b>' + date + '</b></p>' + '<p><b>' + date2 + '</b></p>' + '<p>' + desc + '</p>');
|
||||
|
||||
|
||||
|
||||
// Création d'un objet contenant les données à envoyer
|
||||
var data = {
|
||||
"lat": latitude,
|
||||
"lng": longitude,
|
||||
"category": select,
|
||||
"title": title,
|
||||
"date": date,
|
||||
"date2": date2,
|
||||
"description": desc
|
||||
};
|
||||
|
||||
// Conversion des données en chaîne JSON
|
||||
var jsonData = JSON.stringify(data);
|
||||
|
||||
// Envoi des données au serveur via une requête AJAX
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("POST", "enregistrer_donnees.php", true);
|
||||
xhr.setRequestHeader("Accept", "application/json");
|
||||
xhr.send(jsonData);
|
||||
});
|
||||
|
||||
//map.addLayer(cluster1);
|
||||
//
|
||||
// // Conversion des données en chaîne JSON
|
||||
// var jsonData = JSON.stringify(data);
|
||||
//
|
||||
// // Envoi des données au serveur via une requête AJAX
|
||||
// var xhr = new XMLHttpRequest();
|
||||
// xhr.open("POST", "enregistrer_donnees.php", true);
|
||||
// xhr.setRequestHeader("Accept", "application/json");
|
||||
// xhr.send(jsonData);
|
||||
//
|
||||
//}
|
||||
//
|
||||
//map.on("click", addMarker);
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//// Récupération des données entrées par l'utilisateur
|
||||
|
||||
// Conversion des données en chaîne JSON
|
||||
var jsonData = JSON.stringify(data);
|
||||
|
||||
// Envoi des données au serveur via une requête AJAX
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("POST", "enregistrer_donnees.php", true);
|
||||
xhr.setRequestHeader("Accept", "application/json");
|
||||
xhr.send(jsonData);
|
||||
|
||||
}
|
||||
|
||||
map.on("click", addMarker);
|
||||
|
||||
|
||||
|
||||
|
||||
// Récupération des données entrées par l'utilisateur
|
||||
//var data = {
|
||||
// "latitude": document.getElementById("latitude").value,
|
||||
// "longitude": document.getElementById("longitude").value,
|
||||
|
|
Loading…
Reference in a new issue