nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

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:
Msrc/App.js | 5++++-
Asrc/lib/leaflet.control.track-list/track-list.hash-state.js | 22++++++++++++++++++++++
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; + } + } +); + +