Newer
Older
let countryColor = new Map();
let usedColor = new Map();
let mymap = L.map('mapid').setView([52.51, 13.35], 4);
let cartodbAttribution = '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors';
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
maxZoom: 6,
minZoom: 4,
id: 'mapbox.satellite',
attribution: cartodbAttribution
}).addTo(mymap);
let allPoly = L.featureGroup();
let shownPoly = L.featureGroup().addTo(mymap);
let shownFamily = false;
const topValue = document.querySelector('#value');
topValue.addEventListener('input', ()=>{
document.querySelector('#slider').value = topValue.innerHTML;
refreshDisplay();
});
let toggle = document.querySelector('#switch input');
toggle.addEventListener('change', function() {
displaySlider(this.checked)
});
importPersonnes();
importSouverainete();
importEvents();
resizeFamily();
if (appMode)
{
mymap.touchZoom.disable();
mymap.doubleClickZoom.disable();
mymap.scrollWheelZoom.disable();
mymap.boxZoom.disable();
mymap.keyboard.disable();
// on click, clear all layers
doc('delete').onclick = function (e) {
shownPoly.clearLayers();
shownPoly.eachLayer(function (layer){
if (allPoly.hasLayer(layer)) {
allPoly.removeLayer(layer);
}
});
redefEachLayer();
}
//on click, export all polygones
doc('export').onclick = function (e) {
// Extract GeoJson from shownPoly
// Stringify the GeoJson
let convertedData = 'text/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(data));
// Create export
doc('export').setAttribute('href', 'data:' + convertedData);
doc('export').setAttribute('download', 'polygones.json');
}
}
else
{
draw: {
polyline: false,
rectangle: false,
circle: false
},
edit: {
featureGroup: shownPoly
}
}).addTo(mymap);
}
mymap.on('draw:created', function (e) {
let valide = true;
feature = layer.feature = layer.feature || {}; // Intialize layer.feature
feature.type = feature.type || "Feature"; // Intialize feature.type
let props = feature.properties = feature.properties || {}; // Intialize feature.properties
if(e.layerType == 'marker')
{
let idbataille = prompt("Nom de la bataille : ", "");
let debut = prompt("Date de début : XX/XX/XXXX ", "");
let fin = prompt("Date de fin : XX/XX/XXXX", "");
if(idbataille == null || debut == null || fin == null)
valide = false;
props.idbataille = idbataille;
props.debut = debut;
props.fin = fin;
if(valide)
{
// Each time a feature is created, it's added to the over arching feature group
allPoly.addLayer(e.layer);
refreshDisplay();
}
}
else
{
let idpays = prompt("Nom du pays : ", "");
let debut = prompt("Année de début : ", "");
let fin = prompt("Année de fin : ", "");
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
if(idpays == null || debut == null || fin == null)
valide = false;
props.idpays = idpays;
props.debut = debut;
props.fin = fin;
//console.log(e.layer);
if(valide)
{
// Each time a feature is created, it's added to the over arching feature group
allPoly.addLayer(e.layer);
refreshDisplay();
}
}
});
mymap.on('draw:edited', function (e) {
e.layers.eachLayer(function (layer) {
//console.log(layer);
});
});
mymap.on('draw:deleted', function (e) {
e.layers.eachLayer(function (layer) {
allPoly.removeLayer(layer);
});