[Maps] Adds ability to save displayed map as png

This uses DOM to Image which doesn't work with IE/Edge at the moment
pull/1397/head
Peter Goodhall 2022-02-04 14:09:51 +00:00
rodzic f0054da867
commit 9d6e875f80
3 zmienionych plików z 38 dodań i 3 usunięć

Wyświetl plik

@ -8,6 +8,7 @@
<script type="text/javascript" src="<?php echo base_url() ;?>assets/js/radiohelpers.js"></script>
<script type="text/javascript" src="<?php echo base_url() ;?>assets/js/darkmodehelpers.js"></script>
<script src="<?php echo base_url(); ?>assets/js/bootstrapdialog/js/bootstrap-dialog.min.js"></script>
<script type="text/javascript" src="<?php echo base_url() ;?>assets/js/easyprint.js"></script>
<script type="text/javascript">
/*
*
@ -1022,6 +1023,15 @@ $(document).on('keypress',function(e) {
}).addTo(mymap);
var printer = L.easyPrint({
tileLayer: tiles,
sizeModes: ['Current', 'A4Landscape', 'A4Portrait'],
filename: 'myMap',
exportOnly: true,
hideControlContainer: true
}).addTo(mymap);
var redIcon = L.icon({
iconUrl: icon_dot_url,
iconSize: [18, 18], // size of the icon
@ -1071,13 +1081,20 @@ $(document).ready(function(){
id: 'mapbox.streets'
});
var map = L.map('gridsquare_map', {
layers: [layer],
center: [19, 0],
zoom: 2
});
var printer = L.easyPrint({
tileLayer: layer,
sizeModes: ['Current'],
filename: 'myMap',
exportOnly: true,
hideControlContainer: true
}).addTo(map);
var grid_two = <?php echo $grid_2char; ?>;
var grid_four = <?php echo $grid_4char; ?>;
var grid_six = <?php echo $grid_6char; ?>;
@ -1225,12 +1242,20 @@ $(document).ready(function(){
var callsign = $("#callsign").text();
var mymap = L.map('mapqso').setView([lat,long], 5);
L.tileLayer('<?php echo $this->optionslib->get_option('map_tile_server');?>', {
var tiles = L.tileLayer('<?php echo $this->optionslib->get_option('map_tile_server');?>', {
maxZoom: 18,
attribution: '<?php echo $this->optionslib->get_option('map_tile_server_copyright');?>',
id: 'mapbox.streets'
}).addTo(mymap);
var printer = L.easyPrint({
tileLayer: tiles,
sizeModes: ['Current'],
filename: 'myMap',
exportOnly: true,
hideControlContainer: true
}).addTo(mymap);
var redIcon = L.icon({
iconUrl: icon_dot_url,
iconSize: [18, 18], // size of the icon

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -26,6 +26,14 @@ function initmap(ShowGrid = 'No') {
var osmAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';
var osm = new L.TileLayer(osmUrl, {minZoom: 1, maxZoom: 9, attribution: osmAttrib});
var printer = L.easyPrint({
tileLayer: osm,
sizeModes: ['Current'],
filename: 'myMap',
exportOnly: true,
hideControlContainer: true
}).addTo(map);
// start the map in South-East England
map.setView(new L.LatLng(q_lat, q_lng), q_zoom);