[Maps] Adds ability to save displayed map as png

This uses DOM to Image which doesn't work with IE/Edge at the moment
这个提交包含在:
Peter Goodhall 2022-02-04 14:09:51 +00:00
父节点 f0054da867
当前提交 9d6e875f80
共有 3 个文件被更改,包括 38 次插入3 次删除

查看文件

@ -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

2
assets/js/easyprint.js 普通文件

文件差异因一行或多行过长而隐藏

查看文件

@ -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);