From 088127a9a502875389ce7be8ab6c29eb7e2841ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Gasser?= Date: Thu, 23 Aug 2018 15:52:12 -0400 Subject: [PATCH] Fix glyph access key for openmaptiles --- src/libs/style.js | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/src/libs/style.js b/src/libs/style.js index b867148..a38fa7d 100644 --- a/src/libs/style.js +++ b/src/libs/style.js @@ -54,27 +54,27 @@ function indexOfLayer(layers, layerId) { return null } -function getAccessToken(key, mapStyle, opts) { - if(key === "thunderforest_transport" || key === "thunderforest_outdoors") { - key = "thunderforest"; +function getAccessToken(sourceName, mapStyle, opts) { + if(sourceName === "thunderforest_transport" || sourceName === "thunderforest_outdoors") { + sourceName = "thunderforest" } const metadata = mapStyle.metadata || {} - let accessToken = metadata['maputnik:'+key+'_access_token']; + let accessToken = metadata[`maputnik:${sourceName}_access_token`] if(opts.allowFallback && !accessToken) { - accessToken = tokens[key]; + accessToken = tokens[sourceName] } return accessToken; } -function replaceSourceAccessToken(mapStyle, key, opts={}) { - const source = mapStyle.sources[key] +function replaceSourceAccessToken(mapStyle, sourceName, opts={}) { + const source = mapStyle.sources[sourceName] if(!source) return mapStyle if(!source.hasOwnProperty("url")) return mapStyle - const accessToken = getAccessToken(key, mapStyle, opts) + const accessToken = getAccessToken(sourceName, mapStyle, opts) if(!accessToken) { // Early exit. @@ -83,7 +83,7 @@ function replaceSourceAccessToken(mapStyle, key, opts={}) { const changedSources = { ...mapStyle.sources, - [key]: { + [sourceName]: { ...source, url: source.url.replace('{key}', accessToken) } @@ -92,24 +92,19 @@ function replaceSourceAccessToken(mapStyle, key, opts={}) { ...mapStyle, sources: changedSources } - + if (mapStyle.glyphs) { + changedStyle.glyphs = changedStyle.glyphs.replace('{key}', accessToken) + } return changedStyle } function replaceAccessTokens(mapStyle, opts={}) { - let changedStyle = mapStyle; + let changedStyle = mapStyle - Object.keys(mapStyle.sources).forEach((tokenKey) => { - changedStyle = replaceSourceAccessToken(changedStyle, tokenKey, opts); + Object.keys(mapStyle.sources).forEach((sourceName) => { + changedStyle = replaceSourceAccessToken(changedStyle, sourceName, opts); }) - if(mapStyle.glyphs && mapStyle.glyphs.match(/\.tileserver\.org/)) { - changedStyle = { - ...changedStyle, - glyphs: mapStyle.glyphs ? mapStyle.glyphs.replace('{key}', getAccessToken("openmaptiles", mapStyle, opts)) : mapStyle.glyphs - } - } - return changedStyle }