commit b19a97ca507a725f6b9f5773d7299f5bd032d218
parent 2ff052c121311119d8c29a0347e5831e0da852a4
Author: Sergej Orlov <wladimirych@gmail.com>
Date: Sun, 27 Nov 2016 03:22:26 +0300
[track list] load tracks from hash
Diffstat:
2 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/src/App.js b/src/App.js
@@ -14,6 +14,8 @@ import fixAnimationBug from 'lib/leaflet.fixAnimationBug/leaflet.fixAnimationBug
import './adaptive.css';
import 'lib/leaflet.control.panoramas/panoramas';
import 'lib/leaflet.control.track-list/track-list';
+import 'lib/leaflet.control.track-list/track-list.hash-state';
+
function autoSizeControl(map, control) {
// для контрола Layers есть аналогичная функция при разворачивании из кнопки.
@@ -73,7 +75,8 @@ function setUp() {
.addTo(map)
.enableHashState('n');
const tracksControl = new L.Control.TrackList()
- .addTo(map);
+ .addTo(map)
+ .enableHashState('nktk');
map.on('resize', autoSizeControl.bind(null, map, layersControl));
diff --git a/src/lib/leaflet.control.track-list/track-list.hash-state.js b/src/lib/leaflet.control.track-list/track-list.hash-state.js
@@ -0,0 +1,22 @@
+import L from 'leaflet';
+import {parseGeoFile} from './lib/geo_file_formats';
+
+L.Control.TrackList.include(L.Mixin.HashState);
+L.Control.TrackList.include({
+ stateChangeEvents: [],
+
+ serializeState: function(e) {
+ return [];
+ },
+
+ unserializeState: function(values) {
+ if (values && values.length) {
+ var geodata = parseGeoFile('', window.location.href);
+ this.addTracksFromGeodataArray(geodata);
+ }
+ return false;
+ }
+ }
+);
+
+