|
6 | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
7 | 7 |
|
8 | 8 | <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
|
9 |
| -<!-- <link rel="stylesheet" href="lib/leaflet.css" /> --> |
10 |
| -<!-- <link href="lib/jquery-ui.css" rel="stylesheet"> --> |
11 |
| -<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" |
12 |
| - integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous"> |
| 9 | +<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous"> |
13 | 10 | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
14 | 11 | <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin="" />
|
15 | 12 | <link rel="stylesheet" href="https://unpkg.com/leaflet-better-filelayer@0.1.1/dist/leaflet.betterfilelayer.css" crossorigin="anonymous" referrerpolicy="no-referrer">
|
16 | 13 |
|
17 |
| -<!-- <link rel="stylesheet" href="lib/leaflet-sidebar.css" /> --> |
18 |
| -<!-- <link href="lib/tabulator.min.css" rel="stylesheet"> --> |
19 |
| -<!-- <link href="lib/simTree.css" rel="stylesheet"> --> |
20 |
| -<!-- <link rel="stylesheet" href="lib/Leaflet.BigImage.min.css"> |
21 |
| - --> |
22 | 14 | <!-- Put the CSSs first and JSs next -->
|
23 | 15 |
|
24 |
| -<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" |
25 |
| -integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" |
26 |
| -crossorigin="anonymous"></script> |
27 |
| -<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js" |
28 |
| -integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V" |
29 |
| -crossorigin="anonymous"></script> |
30 |
| -<script src="https://code.jquery.com/jquery-3.7.1.min.js" |
31 |
| -integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> |
| 16 | +<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script> |
| 17 | +<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.min.js" integrity="sha384-cuYeSxntonz0PPNlHhBs68uyIAVpIIOZZ5JqeqvYYIcEL727kskC66kF92t6Xl2V" crossorigin="anonymous"></script> |
| 18 | +<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script> |
32 | 19 | <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin=""></script>
|
33 | 20 | <script type="application/javascript" src="https://unpkg.com/leaflet-better-filelayer@0.1.1/dist/leaflet.betterfilelayer.min.js" crossorigin="anonymous"></script>
|
34 | 21 |
|
35 |
| -<!-- <script src="lib/jquery-3.3.1.min.js" type="text/javascript"></script> --> |
36 |
| -<!-- <script src="lib/jquery-ui.min.js" type="text/javascript"></script> --> |
37 |
| -<!-- <script src="lib/leaflet.js"></script> --> |
38 |
| -<!-- <script src="lib/leaflet-sidebar.min.js"></script> --> |
39 |
| -<!-- <script src="lib/papaparse.min.js"></script> --> |
40 |
| -<!-- <script src="lib/Leaflet.Control.Custom.js"></script> --> |
41 | 22 | <script src="lib/leaflet-providers.js"></script>
|
42 |
| -<!-- <script src="lib/tabulator.min.js" type="text/javascript"></script> --> |
43 |
| -<!-- <script src="lib/leaflet-hash.min.js"></script> --> |
44 |
| -<!-- <script src="lib/simTree.js"></script> --> |
45 |
| -<!-- <script src="lib/Leaflet.BigImage.min.js"></script> |
46 |
| -<script src="lib/leaflet.browser.print.min.js"></script> |
47 |
| -<script src="https://unpkg.com/leaflet-image@latest/leaflet-image.js"></script> --> |
48 | 23 |
|
49 | 24 | <style>
|
50 | 25 | body {
|
|
93 | 68 | }
|
94 | 69 | }
|
95 | 70 |
|
| 71 | +.narrow90 { |
| 72 | + width: 90px; |
| 73 | +} |
96 | 74 |
|
| 75 | +.preset_select { |
| 76 | + height: 2.5rem; |
| 77 | +} |
97 | 78 | </style>
|
98 | 79 | </head>
|
99 | 80 | <body>
|
100 | 81 | <div class="container-fluid no-print">
|
101 | 82 | <div class="row">
|
102 | 83 | <div class="col-md-4">
|
103 | 84 | <h3>Map Printer</h3>
|
104 |
| - <p class="mb-0">Instructions</p> |
| 85 | + <div class="card card-body mb-4"> |
105 | 86 | <ul>
|
106 | 87 | <li>Drag-drop a shape file (preferably .geojson format) onto this map to display its border.</li>
|
107 | 88 | <li>You can drop multiple files one by one also.</li>
|
108 | 89 | <li>Use the sliders on right to adjust the shape and map background.</li>
|
109 | 90 | <li>Press Print button when ready. It'll only include the map block, all these texts will be hidden away.</li>
|
110 | 91 | </ul>
|
| 92 | + </div> |
111 | 93 |
|
112 | 94 | <p><button onclick="zoomFit()" class="btn btn-warning">Fit map to Layers</button>
|
113 | 95 |
|
114 | 96 | <button onclick="window.print()" class="btn btn-primary">Print</button></p>
|
115 | 97 |
|
116 | 98 |
|
117 | 99 | </div>
|
118 |
| -<div class="col-md-4"> |
| 100 | +<div class="col-md-5"> |
119 | 101 |
|
120 | 102 | <h3>Customize the map</h3>
|
121 |
| - <p>Change page dimensions: <small>can make it big!</small><br> |
122 |
| - Width:<input class="width" size="5" value="1000" type="number" min="100" max="100000" step="10">px, |
123 |
| - Height:<input class="height" size="5" value="1450" type="number" min="100" max="100000" step="10">px<br> |
124 |
| - <button onclick="changeDimensions()">Apply</button> |
125 |
| - | |
126 |
| - <a onclick="changeDimensions(true)" href="javascript:;">Reset</a> |
127 |
| - | <span id="tileStatus"></span> |
| 103 | + <p class="mb-2">Change page dimensions: <small>can make it big!</small></p> |
| 104 | + <p class="mb-2">Width:<input class="width narrow90" size="5" value="1000" type="number" min="100" max="100000" step="10"> px, |
| 105 | + Height:<input class="height narrow90" size="5" value="1450" type="number" min="100" max="100000" step="10"> px |
| 106 | + <button onclick="changeDimensions()" class="btn btn-outline-success">Apply</button> |
| 107 | + </p> |
| 108 | + |
| 109 | + <p><select class="preset_select" id="presets" onchange="changeDimensions(reset=false, preset=true)"> |
| 110 | + <option value="">Preset</option> |
| 111 | + <option value="A4_300">A4 300dpi (2480x3508)</option> |
| 112 | + <option value="A4_150">A4 150dpi (1240x1754)</option> |
| 113 | + |
| 114 | + <option value="A3_300">A3 300dpi (3508x4961)</option> |
| 115 | + <option value="A3_150">A3 150dpi (1754x2480)</option> |
| 116 | + |
| 117 | + <option value="A2_300">A2 300dpi (4960x7016)</option> |
| 118 | + <option value="A2_150">A2 150dpi (2480x3508)</option> |
| 119 | + |
| 120 | + <option value="A1_300">A1 300dpi (7016x9933)</option> |
| 121 | + <option value="A1_150">A1 150dpi (3508x4967)</option> |
| 122 | + |
| 123 | + <option value="A0_300">A0 300dpi (9933x14043)</option> |
| 124 | + <option value="A0_150">A0 150dpi (4967x7022)</option> |
| 125 | + |
| 126 | + </select> |
| 127 | + |
| 128 | + <button onclick="flip()" class="btn btn-outline-info">Flip</button> |
| 129 | + |
| 130 | + <button onclick="changeDimensions(reset=true)" class="btn btn-outline-danger">Reset</button> |
128 | 131 | </p>
|
| 132 | + <p>Page status: <span id="tileStatus"></span></p> |
129 | 133 | <!--Presets: <a>A4</a> | <a>A3</a> | <a>A2</a> | <a>A1</a>-->
|
130 | 134 |
|
131 | 135 | <br>
|
132 | 136 | </div>
|
133 |
| -<div class="col-md-4"> |
| 137 | +<div class="col-md-3"> |
134 | 138 | <h3>Transparency</h3>
|
135 | 139 | <!-- <p>Change color of all layers: <input class="color" value="black" size="8">
|
136 | 140 | <button onclick="changeColor()">Apply</button>
|
|
0 commit comments