mirror of https://github.com/MISP/misp-dashboard
Auto-update geoTop + fixed bug duplicate markers
parent
b19f6dfc69
commit
efa084dd0a
|
|
@ -86,6 +86,7 @@ small {
|
||||||
<div class='leftSepa textTopHeader'>
|
<div class='leftSepa textTopHeader'>
|
||||||
<strong>Date: <input type="text" id="datepicker" size="30" style="margin-bottom: 5px;"></strong>
|
<strong>Date: <input type="text" id="datepicker" size="30" style="margin-bottom: 5px;"></strong>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="alertUpdate" class="textTopHeader alert alert-info" style="margin-left: 100px; Display: none;">Maps updated</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- /.navbar-header -->
|
<!-- /.navbar-header -->
|
||||||
|
|
@ -210,7 +211,10 @@ small {
|
||||||
const OSMURL='http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
|
const OSMURL='http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
|
||||||
const OSMATTRIB='Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors';
|
const OSMATTRIB='Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors';
|
||||||
var ZOOMLEVEL = 15;
|
var ZOOMLEVEL = 15;
|
||||||
|
var updateFrequency = 1000*60*60*1 //1h
|
||||||
|
var updateFrequency = 1000*20*1 //1h
|
||||||
var allOpenStreetMap = {};
|
var allOpenStreetMap = {};
|
||||||
|
var savedMarker = {};
|
||||||
var datePickerWidget;
|
var datePickerWidget;
|
||||||
|
|
||||||
for(var i=1; i<7; i++) {
|
for(var i=1; i<7; i++) {
|
||||||
|
|
@ -242,10 +246,21 @@ small {
|
||||||
function updateTopMaps(dayNum) {
|
function updateTopMaps(dayNum) {
|
||||||
$.getJSON("{{ url_for('getTopCoord') }}?dayNum="+dayNum, function(list){
|
$.getJSON("{{ url_for('getTopCoord') }}?dayNum="+dayNum, function(list){
|
||||||
for(var i=0; i<6 && i<list.length; i++) {
|
for(var i=0; i<6 && i<list.length; i++) {
|
||||||
|
// create marker + flyToIt
|
||||||
coordJson = JSON.parse(list[i][0]);
|
coordJson = JSON.parse(list[i][0]);
|
||||||
allOpenStreetMap[i+1].flyTo([coordJson.lat, coordJson.lon], ZOOMLEVEL);
|
allOpenStreetMap[i+1].flyTo([coordJson.lat, coordJson.lon], ZOOMLEVEL);
|
||||||
var marker = L.marker([coordJson.lat, coordJson.lon]).addTo(allOpenStreetMap[i+1]);
|
|
||||||
marker.bindPopup('lat: '+coordJson.lat+', lon: '+coordJson.lon+' - '+list[i][1]).openPopup();
|
// update marker
|
||||||
|
var markerToUpdate = savedMarker[i+1];
|
||||||
|
if (markerToUpdate != undefined) {
|
||||||
|
markerToUpdate.setLatLng({lat: coordJson.lat, lng: coordJson.lon});
|
||||||
|
markerToUpdate._popup._content = 'lat: '+coordJson.lat+', lon: '+coordJson.lon+' - '+list[i][1];
|
||||||
|
markerToUpdate.update();
|
||||||
|
} else { // create new marker
|
||||||
|
var marker = L.marker([coordJson.lat, coordJson.lon]).addTo(allOpenStreetMap[i+1]);
|
||||||
|
savedMarker[i+1] = marker;
|
||||||
|
marker.bindPopup('lat: '+coordJson.lat+', lon: '+coordJson.lon+' - '+list[i][1]).openPopup();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -310,6 +325,10 @@ small {
|
||||||
});
|
});
|
||||||
|
|
||||||
updateAll();
|
updateAll();
|
||||||
|
setInterval(function(){
|
||||||
|
updateAll();
|
||||||
|
$("#alertUpdate").fadeIn(2200).fadeOut(2200);
|
||||||
|
}, updateFrequency);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue