commit 3e9c5b59210be46ef63b3b8cbfa443eb7de03d46
parent f48f83b20d220a2de072446fed13c9df7edabe66
Author: Sergej Orlov <wladimirych@gmail.com>
Date: Wed, 1 May 2019 11:12:43 +0200
layers: update url for Norway maps, remove code for getting token, change map name #220
Diffstat:
2 files changed, 8 insertions(+), 93 deletions(-)
diff --git a/src/layers.js b/src/layers.js
@@ -6,7 +6,6 @@ import {BingDates} from 'lib/leaflet.layer.bing/dates';
import config from './config';
import 'lib/leaflet.layer.soviet-topomaps-grid';
import 'lib/leaflet.layer.westraPasses';
-import 'lib/leaflet.layer.nordeskart';
import 'lib/leaflet.layer.wikimapia';
import {GeocachingSu} from 'lib/leaflet.layer.geocaching-su';
import {StravaHeatmap} from 'lib/leaflet.layer.strava-heatmap';
@@ -741,7 +740,7 @@ export default function getLayers() {
{
title: 'Norway paper map',
isDefault: false,
- layer: new L.TileLayer.Nordeskart('https://gatekeeper1.geonorge.no/BaatGatekeeper/gk/gk.cache_gmaps?layers=toporaster3&zoom={z}&x={x}&y={y}&gkt={baatToken}',
+ layer: new L.TileLayer('https://opencache.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=toporaster3&zoom={z}&x={x}&y={y}',
{
code: 'Np',
isOverlay: true,
@@ -751,14 +750,15 @@ export default function getLayers() {
print: true,
jnx: true,
scaleDependent: true,
+ noCors: false,
shortName: 'norway_paper'
}
)
},
{
- title: 'Norway map',
+ title: 'Norway topo',
isDefault: false,
- layer: new L.TileLayer.Nordeskart('https://gatekeeper1.geonorge.no/BaatGatekeeper/gk/gk.cache_gmaps?layers=topo4&zoom={z}&x={x}&y={y}&gkt={baatToken}',
+ layer: new L.TileLayer('https://opencache.statkart.no/gatekeeper/gk/gk.open_gmaps?layers=topo4&zoom={z}&x={x}&y={y}',
{
code: 'Nm',
isOverlay: true,
@@ -767,7 +767,8 @@ export default function getLayers() {
print: true,
jnx: true,
scaleDependent: true,
- shortName: 'norway'
+ noCors: false,
+ shortName: 'norway_topo'
}
)
},
@@ -1070,7 +1071,7 @@ export default function getLayers() {
layers: [
'Norway UT map',
'Norway paper map',
- 'Norway map',
+ 'Norway topo',
'Norway summer trails',
'Norway winter trails',
'Norway roads'],
@@ -1122,7 +1123,7 @@ export default function getLayers() {
'GGC 2 km',
'ArbaletMO',
'Norway paper map',
- 'Norway map',
+ 'Norway topo',
'Mountains by Aleksey Tsvetkov',
'Slazav mountains',
'GGC 1km',
diff --git a/src/lib/leaflet.layer.nordeskart/index.js b/src/lib/leaflet.layer.nordeskart/index.js
@@ -1,86 +0,0 @@
-import L from 'leaflet';
-import {fetch} from 'lib/xhr-promise';
-import {notify} from 'lib/notifications';
-import logging from 'lib/logging';
-import safeLocalStorage from 'lib/safe-localstorage';
-
-function parseResponse(s) {
- let data;
- data = JSON.parse(s);
- if (!data.token) {
- throw new Error('no token in response');
- }
- return data.token;
-}
-
-function getToken() {
- return fetch('https://www.ut.no/kart/HentBaatToken/', {timeout: 10000})
- .then(function(xhr) {
- try {
- return {token: parseResponse(xhr.responseText)}
- } catch (e) {
- logging.captureException(e, {extra: {
- description: 'Invalid baat token',
- response: xhr.responseText.toString().slice(0, 100)}});
- return {error: 'Server returned invalid token for Norway map'}
- }
- },
- function(e) {
- logging.captureException(e, {extra: {description: 'failed to download baat token'}});
- return {error: `Failed to token for Norway map: ${e.message}`};
- }
- );
-}
-
-L.TileLayer.Nordeskart = L.TileLayer.extend({
- options: {
- tokenUpdateInterval: 5 * 60 * 1000
- },
-
- initialize: function(url, options) {
- this.__url = url;
- L.TileLayer.prototype.initialize.call(this, '', options);
- },
-
- baatTokenUpToDate: function() {
- let nextUpdate = 0;
- nextUpdate = parseInt(safeLocalStorage.getItem('baatTokenNextUpdate'), 10) || 0;
- return Date.now() < nextUpdate && safeLocalStorage.getItem('baatToken');
- },
-
- storeBaatToken: function(token) {
- safeLocalStorage.setItem('baatToken', token);
- safeLocalStorage.setItem('baatTokenNextUpdate', Date.now().toString() + this.options.tokenUpdateInterval);
- },
-
- periodicTokenUpdate: function() {
- if (!this._map) {
- return;
- }
- getToken().then((data) => {
- if (data.error) {
- notify(data.error);
- } else {
- if (data.token !== this.options.baatToken) {
- this.options.baatToken = data.token;
- if (!this._url) {
- this.setUrl(this.__url);
- }
- }
- this.storeBaatToken(data.token);
- }
- setTimeout(() => this.periodicTokenUpdate(), this.options.tokenUpdateInterval);
- });
- },
-
- onAdd: function(map) {
- const token = this.baatTokenUpToDate();
- if (token) {
- this.options.baatToken = token;
- this.setUrl(this.__url);
- }
- this.periodicTokenUpdate();
- return L.TileLayer.prototype.onAdd.call(this, map);
- }
- }
-);