124 </tr> |
124 </tr> |
125 {% endfor %} |
125 {% endfor %} |
126 </tbody> |
126 </tbody> |
127 </table> |
127 </table> |
128 <script> |
128 <script> |
129 function openBusStop(event) { |
129 var osm = L.tileLayer( |
130 window.open(this.options._my_bus_stop_url); |
130 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', |
|
131 { |
|
132 attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors', |
|
133 maxZoom: 19, |
|
134 } |
|
135 ); |
|
136 var tiles = { |
|
137 "OpenStreetMap (Carto)": osm, |
|
138 "MML Peruskartta": L.tileLayer( |
|
139 'http://tiles.kartat.kapsi.fi/peruskartta/{z}/{x}/{y}.jpg', |
|
140 { |
|
141 attribution: 'Map data © Maanmittauslaitos', |
|
142 maxZoom: 19, |
|
143 } |
|
144 ), |
|
145 "MML Taustakartta": L.tileLayer( |
|
146 'http://tiles.kartat.kapsi.fi/taustakartta/{z}/{x}/{y}.jpg', |
|
147 { |
|
148 attribution: 'Map data © Maanmittauslaitos', |
|
149 maxZoom: 19, |
|
150 } |
|
151 ), |
|
152 "MML Ortokuva": L.tileLayer( |
|
153 'http://tiles.kartat.kapsi.fi/ortokuva/{z}/{x}/{y}.jpg', |
|
154 { |
|
155 attribution: 'Map data © Maanmittauslaitos', |
|
156 maxZoom: 19, |
|
157 } |
|
158 ), |
|
159 "OpenTopoMap": L.tileLayer( |
|
160 'https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png', |
|
161 { |
|
162 attribution: 'Map data © Maanmittauslaitos', |
|
163 maxZoom: 18, |
|
164 } |
|
165 ), |
131 } |
166 } |
|
167 |
132 var route = [{{shape}}]; |
168 var route = [{{shape}}]; |
133 var mymap = L.map('mapid').setView([60.45175, 22.26705], 13); |
169 var mymap = L.map('mapid', {layers: [osm]}).setView([60.45175, 22.26705], 13); |
134 var myIcon = L.icon({ |
170 var myIcon = L.icon({ |
135 iconUrl: '/static/favicon.png', |
171 iconUrl: '/static/favicon.png', |
136 iconSize: [16, 16], |
172 iconSize: [16, 16], |
137 iconAnchor: [8, 8], |
173 iconAnchor: [8, 8], |
138 popupAnchor: [-3, -76], |
174 popupAnchor: [-3, -76], |
139 }); |
175 }); |
140 L.tileLayer( |
176 |
141 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', |
177 L.control.layers(tiles).addTo(mymap); |
142 //'http://tiles.kartat.kapsi.fi/taustakartta/{z}/{x}/{y}.jpg', |
|
143 { |
|
144 attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors', |
|
145 maxZoom: 18, |
|
146 } |
|
147 ).addTo(mymap); |
|
148 var polyline = L.polyline(route, { |
178 var polyline = L.polyline(route, { |
149 color: 'black', |
179 color: 'black', |
150 dashArray: [3, 5], |
180 dashArray: [3, 5], |
151 }).addTo(mymap); |
181 }).addTo(mymap); |
152 // zoom the map to the polyline |
182 // zoom the map to the polyline |
153 mymap.fitBounds(polyline.getBounds()); |
183 mymap.fitBounds(polyline.getBounds()); |
154 |
184 |
155 {% for entry in schedule %} |
185 {% for entry in schedule %} |
156 {% for halt in entry['stops'] %} |
186 {% for halt in entry['stops'] %} |
157 marker = L.circleMarker([{{halt["location"]}}], { |
187 marker = L.circleMarker([{{halt["location"]}}], { |
158 radius: 6, |
188 radius: 12, |
159 color: 'black', |
189 color: 'black', |
160 fillColor: 'yellow', |
190 fillColor: 'yellow', |
161 fillOpacity: 1, |
191 fillOpacity: 1, |
162 title: "{{halt['ref']}} {{halt['name']}}", |
192 title: "{{halt['ref']}} {{halt['name']}}", |
163 _my_bus_stop_url: "/stop/{{halt['ref']}}", |
193 _my_bus_stop_url: "/stop/{{halt['ref']}}", |