diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php
index 615e0c061..124e0e91d 100644
--- a/application/controllers/Logbookadvanced.php
+++ b/application/controllers/Logbookadvanced.php
@@ -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);
diff --git a/application/views/logbookadvanced/index.php b/application/views/logbookadvanced/index.php
index 110d63cbd..11eed4c3d 100644
--- a/application/views/logbookadvanced/index.php
+++ b/application/views/logbookadvanced/index.php
@@ -422,7 +422,13 @@ $options = json_decode($options);
-
+
diff --git a/assets/js/sections/logbookadvanced_map.js b/assets/js/sections/logbookadvanced_map.js
index 7e21abc51..e914621f0 100644
--- a/assets/js/sections/logbookadvanced_map.js
+++ b/assets/js/sections/logbookadvanced_map.js
@@ -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('');
+ }
+
+ 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'))
+ }
+