indexjs
This commit is contained in:
parent
a288b35035
commit
26008ebbff
3 changed files with 65 additions and 75 deletions
|
@ -36,81 +36,8 @@
|
|||
<div id="map"></div>
|
||||
|
||||
<script defer src="/leaflet.js"></script>
|
||||
|
||||
<script>
|
||||
let map = null;
|
||||
let points = [];
|
||||
//BOLOGNA
|
||||
const x = 11.343095841047235;
|
||||
const y = 44.49373478876318;
|
||||
const piazzaMaggiore = [x, y];
|
||||
// COORDS ESISTENTI
|
||||
async function downloadRusco() {
|
||||
const resp = await window.fetch("/rusco.geojson");
|
||||
const rusco = await resp.json()
|
||||
|
||||
return rusco.features;
|
||||
}
|
||||
|
||||
|
||||
// SET VIEW
|
||||
function loadMap() {
|
||||
map = L.map('map').setView([44.49373478876318,11.343095841047235], 13.5);
|
||||
|
||||
|
||||
|
||||
// IMPOSTA MAPPA
|
||||
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||
attribution: '© OpenStreetMap contributors | RuscoMap'
|
||||
}).addTo(map);
|
||||
|
||||
// LOAD JSON WITH nome, descrizione e fotoURl
|
||||
fetch('rusco.geojson')
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
L.geoJSON(data, {
|
||||
onEachFeature: function (feature, layer) {
|
||||
layer.bindPopup('<h2>' + feature.properties.Nome + '</h2><p>' + feature.properties.Descrizione + '</p><img src="' + feature.properties.Foto + '" alt="Photo" style="width:200px;height:auto;">');
|
||||
}
|
||||
}).addTo(map);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//LOGICA BTN
|
||||
function preparaDOM() {
|
||||
const button = document.querySelector('#PMaggiore');
|
||||
|
||||
button.addEventListener('click', () => {
|
||||
//const risposta = prompt("Dammi coordinates");
|
||||
const puntoNuovo = {
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"Nome": "Coors Field",
|
||||
"Descrizione": "Baseball Stadium",
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": piazzaMaggiore
|
||||
}
|
||||
}
|
||||
//PUSH NUOVECOORD
|
||||
points.push(puntoNuovo);
|
||||
//RELOAD JSON
|
||||
L.geoJSON(points).addTo(map);
|
||||
button.innerHTML="Aggiungi piu' ombra"
|
||||
});
|
||||
}
|
||||
// SEGUENZA EXEC
|
||||
async function load() {
|
||||
points = await downloadRusco();
|
||||
//console.log (points.features)
|
||||
preparaDOM();
|
||||
loadMap();
|
||||
}
|
||||
|
||||
window.addEventListener('load', load);
|
||||
</script>
|
||||
|
||||
<script defer src="/index.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
|
|
63
staticRuscoMap/index.js
Normal file
63
staticRuscoMap/index.js
Normal file
|
@ -0,0 +1,63 @@
|
|||
|
||||
let map = null;
|
||||
let points = [];
|
||||
//BOLOGNA
|
||||
const x = 11.343095841047235;
|
||||
const y = 44.49373478876318;
|
||||
const piazzaMaggiore = [x, y];
|
||||
// COORDS ESISTENTI
|
||||
async function downloadRusco() {
|
||||
const resp = await window.fetch("/rusco.geojson");
|
||||
const rusco = await resp.json()
|
||||
return rusco.features;
|
||||
}
|
||||
// SET VIEW
|
||||
function loadMap() {
|
||||
map = L.map('map').setView([44.49373478876318, 11.343095841047235], 13.5);
|
||||
|
||||
// IMPOSTA MAPPA
|
||||
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||
attribution: '© OpenStreetMap contributors | RuscoMap'
|
||||
}).addTo(map);
|
||||
// LOAD JSON WITH nome, descrizione e fotoURl
|
||||
fetch('rusco.geojson')
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
L.geoJSON(data, {
|
||||
onEachFeature: function (feature, layer) {
|
||||
layer.bindPopup('<h2>' + feature.properties.Nome + '</h2><p>' + feature.properties.Descrizione + '</p><img src="' + feature.properties.Foto + '" alt="Photo" style="width:200px;height:auto;">');
|
||||
}
|
||||
}).addTo(map);
|
||||
});
|
||||
}
|
||||
//LOGICA BTN
|
||||
function preparaDOM() {
|
||||
const button = document.querySelector('#PMaggiore');
|
||||
button.addEventListener('click', () => {
|
||||
//const risposta = prompt("Dammi coordinates");
|
||||
const puntoNuovo = {
|
||||
"type": "Feature",
|
||||
"properties": {
|
||||
"Nome": "Coors Field",
|
||||
"Descrizione": "Baseball Stadium",
|
||||
},
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": piazzaMaggiore
|
||||
}
|
||||
}
|
||||
//PUSH NUOVECOORD
|
||||
points.push(puntoNuovo);
|
||||
//RELOAD JSON
|
||||
L.geoJSON(points).addTo(map);
|
||||
button.innerHTML = "Aggiungi piu' ombra"
|
||||
});
|
||||
}
|
||||
// SEGUENZA EXEC
|
||||
async function load() {
|
||||
points = await downloadRusco();
|
||||
//console.log (points.features)
|
||||
preparaDOM();
|
||||
loadMap();
|
||||
}
|
||||
window.addEventListener('load', load);
|
Loading…
Reference in a new issue