mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-24 19:21:14 +00:00
Added the globe map to LBA
This commit is contained in:
@@ -93,6 +93,7 @@ class Logbookadvanced extends CI_Controller {
|
||||
'assets/js/sections/itumap_geojson.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/sections/itumap_geojson.js")),
|
||||
'assets/js/leaflet/L.Terminator.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/leaflet/L.Terminator.js")),
|
||||
'assets/js/leaflet/geocoding.js',
|
||||
'assets/js/globe/globe.gl.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/globe/globe.gl.js")),
|
||||
];
|
||||
|
||||
$this->load->view('interface_assets/header', $data);
|
||||
|
||||
@@ -422,7 +422,13 @@ $options = json_decode($options);
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 ld-ext-right" id="dupeButton"><?php echo lang('filter_dupes'); ?><div class="ld ld-ring ld-spin"></div></button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 ld-ext-right" id="editButton">Edit<div class="ld ld-ring ld-spin"></div></button>
|
||||
<button type="button" class="btn btn-sm btn-danger me-1" id="deleteQsos"><?php echo lang('filter_actions_delete'); ?></button>
|
||||
<button type="button" class="btn btn-sm btn-primary me-1 ld-ext-right" id="mapButton" onclick="mapQsos(this.form);"><?php echo lang('filter_map'); ?><div class="ld ld-ring ld-spin"></div></button>
|
||||
<div class="btn-group me-1" role="group">
|
||||
<button type="button" class="btn btn-sm btn-primary ld-ext-right" id="mapButton" onclick="mapQsos(this.form);"><?php echo lang('filter_map'); ?><div class="ld ld-ring ld-spin"></div></button>
|
||||
<button id="btnGroupDrop1" type="button" class="btn btn-sm btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"></button>
|
||||
<ul class="dropdown-menu" aria-labelledby="btnGroupDrop1">
|
||||
<li><button type="button" class="dropdown-item" onclick="mapGlobeQsos(this.form);" id="mapGlobeButton">Globe map</button></li>
|
||||
</ul>
|
||||
</div>
|
||||
<button type="options" class="btn btn-sm btn-primary me-1" id="optionButton"><?php echo lang('filter_options'); ?></button>
|
||||
<button type="reset" class="btn btn-sm btn-danger me-1" id="resetButton"><?php echo lang('filter_reset'); ?></button>
|
||||
|
||||
|
||||
@@ -588,3 +588,132 @@ function loadMap(data, iconsList) {
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
function mapGlobeQsos(form) {
|
||||
var container = L.DomUtil.get('advancedmap');
|
||||
if(container != null){
|
||||
container._leaflet_id = null;
|
||||
container.remove();
|
||||
$(".coordinates").remove();
|
||||
}
|
||||
|
||||
var id_list=[];
|
||||
var elements = $('#qsoList tbody input:checked');
|
||||
var nElements = elements.length;
|
||||
|
||||
elements.each(function() {
|
||||
let id = $(this).first().closest('tr').data('qsoID')
|
||||
id_list.push(id);
|
||||
unselectQsoID(id);
|
||||
});
|
||||
|
||||
$("#qsoList").attr("Hidden", true);
|
||||
$("#qsoList_wrapper").attr("Hidden", true);
|
||||
$("#qsoList_info").attr("Hidden", true);
|
||||
|
||||
amap = $('#advancedmap').val();
|
||||
if (amap == undefined) {
|
||||
$(".qso_manager").append('<div id="advancedmap" class="map-leaflet"></div>');
|
||||
}
|
||||
|
||||
if (id_list.length > 0) {
|
||||
$.ajax({
|
||||
url: base_url + 'index.php/logbookadvanced/mapSelectedQsos',
|
||||
type: 'post',
|
||||
data: {
|
||||
ids: id_list,
|
||||
de: form.de.value
|
||||
},
|
||||
success: function(data) {
|
||||
globemap(data);
|
||||
},
|
||||
error: function() {
|
||||
|
||||
},
|
||||
});
|
||||
} else {
|
||||
$.ajax({
|
||||
url: base_url + 'index.php/logbookadvanced/mapQsos',
|
||||
type: 'post',
|
||||
data: {
|
||||
dateFrom: form.dateFrom.value,
|
||||
dateTo: form.dateTo.value,
|
||||
de: form.de.value,
|
||||
dx: form.dx.value,
|
||||
mode: form.mode.value,
|
||||
band: form.band.value,
|
||||
qslSent: form.qslSent.value,
|
||||
qslReceived: form.qslReceived.value,
|
||||
qslSentMethod: this.qslSentMethod.value,
|
||||
qslReceivedMethod: this.qslReceivedMethod.value,
|
||||
iota: form.iota.value,
|
||||
dxcc: form.dxcc.value,
|
||||
propmode: form.selectPropagation.value,
|
||||
gridsquare: form.gridsquare.value,
|
||||
state: form.state.value,
|
||||
qsoresults: form.qsoResults.value,
|
||||
sats: form.sats.value,
|
||||
cqzone: form.cqzone.value,
|
||||
lotwSent: form.lotwSent.value,
|
||||
lotwReceived: form.lotwReceived.value,
|
||||
eqslSent: form.eqslSent.value,
|
||||
eqslReceived: form.eqslReceived.value,
|
||||
qslvia: $('[name="qslviainput"]').val(),
|
||||
sota: form.sota.value,
|
||||
pota: form.pota.value,
|
||||
operator: form.operator.value,
|
||||
wwff: form.wwff.value,
|
||||
qslimages: form.qslimages.value,
|
||||
},
|
||||
success: function(data) {
|
||||
globemap(data);
|
||||
},
|
||||
error: function() {
|
||||
|
||||
},
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
function globemap(x) {
|
||||
globePayArc=[];
|
||||
globePayLab=[];
|
||||
x.forEach((element) => {
|
||||
let OneQsoArc={};
|
||||
OneQsoArc.startLat=element.latlng1[0];
|
||||
OneQsoArc.startLng=element.latlng1[1];
|
||||
OneQsoArc.endLat=element.latlng2[0];
|
||||
OneQsoArc.endLng=element.latlng2[1];
|
||||
OneQsoArc.name=element.callsign;
|
||||
if (element.confirmed) {
|
||||
OneQsoArc.color = 'green';
|
||||
} else {
|
||||
OneQsoArc.color = 'red';
|
||||
}
|
||||
// OneQsoArc.color = [['red', 'white', 'blue', 'green'][Math.round(Math.random() * 3)], ['red', 'white', 'blue', 'green'][Math.round(Math.random() * 3)]]
|
||||
OneQsoArc.altitude=0.15;
|
||||
globePayArc.push(OneQsoArc);
|
||||
let OneQsoLab={};
|
||||
OneQsoLab.lat=element.latlng2[0];
|
||||
OneQsoLab.lng=element.latlng2[1];
|
||||
OneQsoLab.text=element.callsign;
|
||||
globePayLab.push(OneQsoLab);
|
||||
});
|
||||
renderGlobe(globePayArc,globePayLab);
|
||||
}
|
||||
|
||||
function renderGlobe(arcsData,labelData) {
|
||||
Globe()
|
||||
.globeImageUrl(base_url + '/assets/images/earth-blue-marble.jpg')
|
||||
.labelsData(labelData)
|
||||
.arcsData(arcsData)
|
||||
.arcColor('color')
|
||||
//.arcAltitude('altitude')
|
||||
.arcAltitudeAutoScale(.3)
|
||||
.arcStroke(.2)
|
||||
.arcDashLength(() => 1)
|
||||
.arcDashGap(() => 0)
|
||||
.arcDashAnimateTime(() => 4000 + 500)
|
||||
(document.getElementById('advancedmap'))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user