nakarte

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

commit d0389bb79a6cc63e8e3bf4b0914c39f4e69fe4e1
parent 3fb24983efc61bd38e6790e89ca5a870f1756303
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Sun,  3 Apr 2022 13:56:06 +0200

wikimapia: new url for tiles

Make Wikimapia tiles URL configurable and switch to new URL

Diffstat:
Msrc/config.js | 1+
Msrc/layers.js | 3++-
Msrc/lib/leaflet.layer.wikimapia/index.js | 5+++--
Msrc/lib/leaflet.layer.wikimapia/wikimapia-loader.js | 7+++----
Msrc/lib/leaflet.layer.wikimapia/wm-utils.js | 6+++---
5 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/config.js b/src/config.js @@ -15,6 +15,7 @@ const config = { wikimediaCommonsCoverageUrl: 'https://tiles.nakarte.me/wikimedia_commons_images/{z}/{x}/{y}', geocachingSuUrl: 'https://nakarte.me/geocachingSu/geocaching_su2.json', tracksStorageServer: 'https://tracks.nakarte.me', + wikimapiaTilesBaseUrl: 'https://proxy.nakarte.me/wikimapia/', ...secrets }; diff --git a/src/layers.js b/src/layers.js @@ -433,7 +433,8 @@ class LayerGroupWithOptions extends L.LayerGroup { isOverlay: true, print: false, jnx: false, - attribution: '<a href="https://wikimapia.org/">Wikimapia</a>' + attribution: '<a href="https://wikimapia.org/">Wikimapia</a>', + tilesBaseUrl: config.wikimapiaTilesBaseUrl, }) }, { diff --git a/src/lib/leaflet.layer.wikimapia/index.js b/src/lib/leaflet.layer.wikimapia/index.js @@ -23,7 +23,8 @@ function isPointInPolygon(polygon, p) { L.Wikimapia = L.GridLayer.extend({ options: { tileSize: 1024, - updateWhenIdle: true + updateWhenIdle: true, + tilesBaseUrl: 'http://wikimapia.org/', }, initialize: function(options) { @@ -33,7 +34,7 @@ L.Wikimapia = L.GridLayer.extend({ onAdd: function(map) { if (!this.loader) { - this.loader = new WikimapiaLoader(map); + this.loader = new WikimapiaLoader(this.options.tilesBaseUrl, map); } L.GridLayer.prototype.onAdd.call(this, map); this.on('tileunload', this.onTileUnload, this); diff --git a/src/lib/leaflet.layer.wikimapia/wikimapia-loader.js b/src/lib/leaflet.layer.wikimapia/wikimapia-loader.js @@ -1,15 +1,15 @@ import {TiledDataLoader} from '~/lib/tiled-data-loader'; import * as wmUtils from './wm-utils'; -import urlViaCorsProxy from '~/lib/CORSProxy'; class WikimapiaLoader extends TiledDataLoader { maxZoom = 15; minZoom = 1; tileSize = 1024; - constructor(projectObj) { + constructor(tilesBaseUrl, projectObj) { super(); this._projectObj = projectObj; + this.tilesBaseUrl = tilesBaseUrl; } getFromCache(dataTileCoords) { @@ -56,8 +56,7 @@ class WikimapiaLoader extends TiledDataLoader { } makeRequestData(dataTileCoords) { - let url = wmUtils.makeTileUrl(dataTileCoords); - url = urlViaCorsProxy(url); + let url = this.tilesBaseUrl + wmUtils.makeTilePath(dataTileCoords); return { url, options: {timeout: 20000} diff --git a/src/lib/leaflet.layer.wikimapia/wm-utils.js b/src/lib/leaflet.layer.wikimapia/wm-utils.js @@ -14,11 +14,11 @@ function getTileId({x, y, z}) { return id.reverse().join(''); } -function makeTileUrl(coords) { +function makeTilePath(coords) { const tileId = getTileId(coords), urlPath = tileId.replace(/(\d{3})(?!$)/gu, '$1/'); // "033331022" -> "033/331/022" - return `http://wikimapia.org/z1/itiles/${urlPath}.xy?342342`; + return `z1/itiles/${urlPath}.xy?342342`; } function tileIdToCoords(tileId) { @@ -262,4 +262,4 @@ async function parseTile(s, projectObj) { // } // }, -export {getTileId, getWikimapiaTileCoords, parseTile, makeTileUrl}; +export {getTileId, getWikimapiaTileCoords, parseTile, makeTilePath};