Add worldwide monolingual layer as default when language matches (#205)
This commit is contained in:
parent
5d0131e7f8
commit
9ea36c6f19
2 changed files with 36 additions and 1 deletions
|
|
@ -9,6 +9,7 @@ BR.LayersConfig = L.Class.extend({
|
||||||
this._addLeafletProvidersLayers();
|
this._addLeafletProvidersLayers();
|
||||||
this._customizeLayers();
|
this._customizeLayers();
|
||||||
this.loadDefaultLayers();
|
this.loadDefaultLayers();
|
||||||
|
this._addLanguageDefaultLayer();
|
||||||
},
|
},
|
||||||
|
|
||||||
loadDefaultLayers: function() {
|
loadDefaultLayers: function() {
|
||||||
|
|
@ -80,6 +81,34 @@ BR.LayersConfig = L.Class.extend({
|
||||||
BR.layerIndex['1017'].geometry = BR.confLayers.osmapaPl;
|
BR.layerIndex['1017'].geometry = BR.confLayers.osmapaPl;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_addLanguageDefaultLayer: function() {
|
||||||
|
// language code -> layer id
|
||||||
|
var languageLayersMap = {};
|
||||||
|
var i;
|
||||||
|
|
||||||
|
for (i = 0; i < BR.confLayers.languageDefaultLayers.length; i++) {
|
||||||
|
var id = BR.confLayers.languageDefaultLayers[i];
|
||||||
|
var layer = BR.layerIndex[id];
|
||||||
|
if (layer) {
|
||||||
|
var layerLanguage = layer.properties['language_code'];
|
||||||
|
if (layerLanguage) {
|
||||||
|
languageLayersMap[layerLanguage] = id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// iterate language code hierarchy, e.g ["de-DE", "de", "en"] (includes `i18next.options.fallbackLng`)
|
||||||
|
for (i = 0; i < i18next.languages.length; i++) {
|
||||||
|
var language = i18next.languages[i];
|
||||||
|
var layerId = languageLayersMap[language];
|
||||||
|
|
||||||
|
if (layerId) {
|
||||||
|
this.defaultBaseLayers.unshift(layerId);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
isDefaultLayer: function(id, overlay) {
|
isDefaultLayer: function(id, overlay) {
|
||||||
var result = false;
|
var result = false;
|
||||||
if (overlay) {
|
if (overlay) {
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,18 @@ BR.confLayers = {};
|
||||||
|
|
||||||
BR.confLayers.defaultBaseLayers = [
|
BR.confLayers.defaultBaseLayers = [
|
||||||
'standard',
|
'standard',
|
||||||
'osm-mapnik-german_style',
|
|
||||||
'OpenTopoMap',
|
'OpenTopoMap',
|
||||||
'Stamen.Terrain',
|
'Stamen.Terrain',
|
||||||
'Esri.WorldImagery'
|
'Esri.WorldImagery'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// worldwide monolingual layers to add as default when browser language matches
|
||||||
|
BR.confLayers.languageDefaultLayers = [
|
||||||
|
'osm-mapnik-german_style',
|
||||||
|
'osmfr',
|
||||||
|
'1021' // sputnik.ru
|
||||||
|
];
|
||||||
|
|
||||||
BR.confLayers.defaultOverlays = [
|
BR.confLayers.defaultOverlays = [
|
||||||
'HikeBike.HillShading',
|
'HikeBike.HillShading',
|
||||||
'Waymarked_Trails-Cycling',
|
'Waymarked_Trails-Cycling',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue