From b4f28ef838f9b80af97b2674fcd4c40cebe24c9e Mon Sep 17 00:00:00 2001 From: johndoe Date: Sun, 10 Mar 2019 14:22:03 +0200 Subject: [PATCH] basemap-kartverket: updated adapted from https://github.com/knreise/L.TileLayer.Kartverket/pull/8/ (https://github.com/knreise/L.TileLayer.Kartverket/blob/1e00f43e1b4be9c0da908d273a384968108cea24/L.TileLayer.Kartverket.js) --- plugins/basemap-kartverket.user.js | 88 ++++++++++++++++++++++++++++-- 1 file changed, 82 insertions(+), 6 deletions(-) diff --git a/plugins/basemap-kartverket.user.js b/plugins/basemap-kartverket.user.js index 1fec495b4..7894df6ca 100644 --- a/plugins/basemap-kartverket.user.js +++ b/plugins/basemap-kartverket.user.js @@ -1,8 +1,84 @@ -// ==UserScript== -// @id iitc-plugin-basemap-kartverket@sollie -// @name IITC plugin: Kartverket.no map tiles -// @category Deleted -// @version 0.1.0.@@DATETIMEVERSION@@ -// @description [@@BUILDNAME@@-@@BUILDDATE@@] Add the color and grayscale map tiles from Kartverket.no as an optional layer. +// ==UserScript== +// @id iitc-plugin-basemap-kartverket +// @name IITC plugin: Kartverket.no maps (Norway) +// @category Map Tiles +// @version 0.2.0.@@DATETIMEVERSION@@ +// @description [@@BUILDNAME@@-@@BUILDDATE@@] Add Kartverket.no map layers. @@METAINFO@@ // ==/UserScript== + +@@PLUGINSTART@@ + +// PLUGIN START //////////////////////////////////////////////////////// + +function setup () { + + L.TileLayer.Kartverket = L.TileLayer.extend({ + + baseUrl: 'https://opencache{s}.statkart.no/gatekeeper/gk/gk.open_gmaps?' + + 'layers={layer}&zoom={z}&x={x}&y={y}', + + options: { + maxNativeZoom: 18, + attribution: '© Kartverket', + subdomains: ['', '2', '3'] + }, + + mappings: { + kartdata2: 'topo4', + norgeskart_bakgrunn: 'topo4', + sjo_hovedkart2: 'sjokartraster', + toporaster: 'toporaster3', + topo2: 'topo4', + topo2graatone: 'topo4graatone' + }, + + layers: { + matrikkel_bakgrunn: 'Matrikkel bakgrunn', + topo4: 'Topografisk norgeskart', + topo4graatone: 'Topografisk norgeskart gråtone', + europa: 'Europakart', + toporaster3: 'Topografisk norgeskart, raster', + sjokartraster: 'Sjøkart hovedkartserien', + norges_grunnkart: 'Norges Grunnkart', + norges_grunnkart_graatone: 'Norges grunnkart gråtone', + egk: 'Europeiske grunnkart', + terreng_norgeskart: 'Terreng', + havbunn_grunnkart: 'Havbunn grunnkart', + bakgrunnskart_forenklet: null + }, + + initialize: function (layer, options) { + if (typeof this.layers[layer] === 'undefined') { + if (this.mappings[layer]) { + layer = this.mappings[layer]; + } else { + throw new Error('Unknown layer "' + layer + '"'); + } + } + + L.TileLayer.prototype.initialize.call(this, this.baseUrl, options); + this.options.layer = layer; + this._name = this.layers[layer] || layer; + } + + }); + + L.tileLayer.kartverket = function (layer, options) { + return new L.TileLayer.Kartverket(layer, options); + }; + + L.tileLayer.kartverket.getLayers = function () { + return L.extend({},L.TileLayer.Kartverket.prototype.layers); + }; + + var l, layer; + for (layer in L.tileLayer.kartverket.getLayers()) { + l = L.tileLayer.kartverket(layer); + layerChooser.addBaseLayer(l, l._name); + } +} + +// PLUGIN END ////////////////////////////////////////////////////////// + +@@PLUGINEND@@