diff --git a/sketch/alt/app.js b/sketch/alt/app.js index 66ed3b6..baec704 100644 --- a/sketch/alt/app.js +++ b/sketch/alt/app.js @@ -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('

' + markerData.title + '

' + '

' + markerData.date + '

' + '

' + markerData.desc + '

'); - 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 = -// '' + -// '
' + -// '
' + -// -// -// '
' + -// '
' + -// '
' + -// '
' + -// '
' + -// '
' + -// -// '
' + -// '
' + -// '
' + -// -// '
'; -// -// -// -// -// -// -// -// -// // 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('

' + title + '

' + '

' + date + '

' + '

' + date2 + '

' + '

' + desc + '

'); -// -// -// -// // 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 = + '' + + '
' + + '
' + + + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + + '
' + + '
' + + '
' + + + '
'; + + + + + + + + + // 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('

' + title + '

' + '

' + date + '

' + '

' + date2 + '

' + '

' + desc + '

'); + + + + // 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,