var link = thisUrlParams.link; prefixes = queryManager['prefixes']['all']; queryURL = prefixes + (queryManager['queryTimeSpace']['queryTimeLetters']); doJsonQuery(queryURL).done(function(data) { manageJson(data); }); //console.log(luoghi); var latitude = 43.8777049; var longitude = 11.102228; var mapIcon = "
\ \ \ \

Nessun luogo trovato

\
"; var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png', cloudmadeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade, Points © 2012 LINZ', cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 17, attribution: cloudmadeAttribution}), latlng = new L.LatLng(latitude, longitude); var map = new L.Map('map', {center: latlng, zoom: 5, layers: [cloudmade]}); mapLink = 'OpenStreetMap'; //var markers = new L.MarkerClusterGroup(); //var markerList = []; var geo = new L.tileLayer( 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© ' + mapLink + ' Contributors', maxZoom: 18, }).addTo(map); var markerList = []; var markers = new L.MarkerClusterGroup(); let anni = []; let eventi = {}; function manageJson(json) { var i=0; $.each( json['results']['bindings'], function (index, value) { var uri = value['uri_place']['value']; var label = value['place']['value']; var coord = value['coords']['value']; var year = ""; var month = ""; var day = ""; var uri_soggetto = value['uri_subject']['value']; var soggetto = value['subject']['value']; //var evento = value['event']['value']; var evento = "Invio" var data = value['time_span']['value']; if (value.hasOwnProperty('year')) { year = value['year']['value']; if (!anni.includes(year)) { anni.push(year); } } if (value.hasOwnProperty('month')) { month = value['month']['value']; } if (value.hasOwnProperty('day')) { day = value['day']['value']; } eventi[i] = {"uri_soggetto": uri_soggetto, "soggetto": soggetto, "uri_luogo": uri, "luogo": label, "coordinate": coord, "evento": evento, "data": data, "anno": year, "mese": month, "giorno": day}; i++; }); handle_map(eventi); manageYears(anni); manageEvents(eventi) } function handle_map(myArray) { //console.log(json); const locations = []; const place_names = []; const luoghi = []; for (i in myArray) { const loc = [] var uri = myArray[i]['uri_luogo']; var label = myArray[i]['luogo']; var coord = myArray[i]['coordinate']; var year = myArray[i]['anno']; var month = myArray[i]['mese']; var day = myArray[i]['giorno']; var uri_soggetto = myArray[i]['uri_soggetto']; var soggetto = myArray[i]['soggetto']; //var evento = value['event']['value']; var evento = myArray[i]['evento'] var data = myArray[i]['data']; if (!place_names.includes(uri)) { place_names.push(uri); const coordinates = coord.split(", "); loc.push(uri); label = titleCase(label); loc.push(label); loc.push(coordinates[0]); //lat += parseInt(coordinates[0]); loc.push(coordinates[1]); //long += parseInt(coordinates[1].replace(/^(\.)/,"0.").replace("-.", "-0.")); locations.push(loc); } } for (var k=0; k"; var marker = new L.Marker(new L.LatLng(a[1], a[2]), { title: title }); //marker.bindPopup(title); //marker.on('click', markerOnClick); //$(marker._icon).addClass('selectedMarker'); marker.on('click', function(){ var name_place = $(this)[0].options.title; var markerLat = $(this)[0]._latlng['lat']; var markerLng = $(this)[0]._latlng['lng']; managePlace(name_place); }); markers.addLayer(marker); markerList.push(marker); } } populate(); //manageYears(anni); map.addLayer(markers); //manageEvents(eventi) } function markerOnClick(e) { alert("hi. you clicked the marker at " + e.LatLng); console.log(e); } let time_span = []; /* function handle_map2(json) { cleanMap(); const locations = []; const place_names = []; const luoghi = []; time_span = []; var lat = 0; var long = 0; var i=0; $.each( json['results']['bindings'], function (index, value) { const loc = [] var uri = value['uri_place']['value']; var label = value['place']['value']; var coord = value['coords']['value']; if (!place_names.includes(uri)) { place_names.push(uri); const coordinates = coord.split(", "); loc.push(uri); label = titleCase(label); loc.push(label); loc.push(coordinates[0]); lat += parseInt(coordinates[0]); loc.push(coordinates[1]); long += parseInt(coordinates[1].replace(/^(\.)/,"0.").replace("-.", "-0.")); locations.push(loc); i++; } if (value.hasOwnProperty('time_span')) { data = value['time_span']['value']; if (!time_span.includes(data)) { time_span.push(data); } } }); for (var k=0; k"; var marker = new L.Marker(new L.LatLng(a[1], a[2]), { title: title }); marker.bindPopup(title); markers.addLayer(marker); markerList.push(marker); } } populate(); manageDates(time_span); } */ /* function handle_map3(json) { cleanMap(); const locations = []; const place_names = []; const luoghi = []; let eventi = []; var lat = 0; var long = 0; var i=0; $.each( json['results']['bindings'], function (index, value) { const loc = [] var uri = value['uri_place']['value']; var label = value['place']['value']; var coord = value['coords']['value']; if (!place_names.includes(uri)) { place_names.push(uri); const coordinates = coord.split(", "); loc.push(uri); label = titleCase(label); loc.push(label); loc.push(coordinates[0]); lat += parseInt(coordinates[0]); loc.push(coordinates[1]); long += parseInt(coordinates[1].replace(/^(\.)/,"0.").replace("-.", "-0.")); locations.push(loc); i++; } var uri_person = ""; var person = ""; var ev = ""; if (value.hasOwnProperty('uri_person')) { uri_person = value['uri_person']['value']; } if (value.hasOwnProperty('person')) { person = value['person']['value']; } if (value.hasOwnProperty('event')) { ev = value['event']['value']; } eventi.push([ev, person, uri_person, coord]); }); for (var k=0; k"; var marker = new L.Marker(new L.LatLng(a[1], a[2]), { title: title }); marker.bindPopup(title); markers.addLayer(marker); markerList.push(marker); } } populate(); manageEvents(eventi); } */ function managePlace(namePlace) { let eventPlace = {}; var j=0; var place = namePlace.replace('

', '').replace('

', ''); for (i in eventi) { if (eventi[i]['luogo'] == place) { eventPlace[j] = eventi[i]; j++; } } console.log(eventPlace); document.getElementById('timeline').innerHTML = ""; manageEvents(eventPlace); } function manageYears(anni) { var Anni = ""; anni.sort(); for (i in anni) { var anno = anni[i]; if (anno.length == 4) { Anni += '
' + anno + '
'; } } document.getElementById("anni").innerHTML = Anni; } let uniqueDates = []; function manageDates(date) { uniqueDates = []; let evDates = {}; var Date = ""; for (i in date) { if (!uniqueDates.includes(date[i])) { uniqueDates.push(date[i]); var data = date[i]; Date += '
' + data + '
'; } for (j in eventi) { if (date[i] == eventi[j]['data']) { evDates[i] = eventi[j]; } } } document.getElementById("anni").innerHTML = Date; } function manageEvents(events) { var Eventi = ""; var anni = []; var days = []; var simpleDate = ""; for (i in events) { var ev = events[i]['evento']; var soggetto = events[i]['soggetto']; var uri_soggetto = events[i]['uri_soggetto']; var uri_luogo = events[i]['uri_luogo']; var luogo = events[i]['place']; var coordinates = events[i]['coordinate']; var date = events[i]['data']; var anno = events[i]['anno']; var mese = events[i]['mese']; var giorno = events[i]['giorno']; if (anno.length == 4) { if (!anni.includes(anno)) { createYearSeed(anno); anni.push(anno); } } if (!days.includes(date)) { days.push(date); simpleDate = date; createDateSeed(simpleDate); } else { simpleDate = ""; } Eventi = '
' + '
' + ev + ' di ' + soggetto + '
'; $('#timeline').append(Eventi); } } function createYearSeed(year) { var Anno = "

" + year + "

"; $('#timeline').append(Anno); } function cleanMap() { markers.clearLayers(); } function createDateSeed(date) { var Data = "
" + date + "
"; $('#timeline').append(Data); } function cleanMap() { markers.clearLayers(); } $(document).on("click", ".year", function (ev) { let eventYear = {}; let date = []; var zoom = 5; var j=0; map.setView([latitude, longitude], zoom); anno = parseInt(this.id); for (i in eventi) { if (eventi[i]['anno'] == anno) { var data = eventi[i]['data']; date.push(data); eventYear[j] = eventi[i]; j++; } } document.getElementById('timeline').innerHTML = ""; manageDates(date); manageEvents(eventYear); cleanMap(); handle_map(eventYear); //queryAnno = prefixes + (queryManager['queryTimeSpace']['queryTime1']).replace('{YEAR}', anno); //doJsonQuery(queryAnno).done(function(data) { handle_map2(data); }); }); $(document).on("click", ".date", function (ev) { var date = this.id; let eventDay = {}; var zoom = 5; var j=0; map.setView([latitude, longitude], zoom); var data = parseInt(this.id); for (i in eventi) { if (eventi[i]['data'] == date) { eventDay[j] = eventi[i]; j++; } } console.log(eventDay); document.getElementById('timeline').innerHTML = ""; manageEvents(eventDay); cleanMap(); handle_map(eventDay); //queryAnno = prefixes + (queryManager['queryTimeSpace']['queryTime2']).replace('{DATE}', date); //doJsonQuery(queryAnno).done(function(data) { handle_map3(data); }); }); $(document).on("mouseover", ".event", function(){ // parse lat and lng from the divs data attribute var latlng = $(this).data().point.split(', '); var lat = latlng[0]; var lng = latlng[1]; var zoom = 10; map.setView([lat, lng], zoom); }); $(document).on("click", ".event", function(){ // parse lat and lng from the divs data attribute var latlng = $(this).data().point.split(', '); var lat = latlng[0]; var lng = latlng[1]; var zoom = 14; map.setView([lat, lng], zoom); }); $(document).on("click", "#backToAnni", function (ev) { manageYears(anni); }); $(document).on("click", "#backToDate", function (ev) { manageDates(time_span); });