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._customizeLayers();
|
||||
this.loadDefaultLayers();
|
||||
this._addLanguageDefaultLayer();
|
||||
},
|
||||
|
||||
loadDefaultLayers: function() {
|
||||
|
|
@ -80,6 +81,34 @@ BR.LayersConfig = L.Class.extend({
|
|||
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) {
|
||||
var result = false;
|
||||
if (overlay) {
|
||||
|
|
|
|||
|
|
@ -2,12 +2,18 @@ BR.confLayers = {};
|
|||
|
||||
BR.confLayers.defaultBaseLayers = [
|
||||
'standard',
|
||||
'osm-mapnik-german_style',
|
||||
'OpenTopoMap',
|
||||
'Stamen.Terrain',
|
||||
'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 = [
|
||||
'HikeBike.HillShading',
|
||||
'Waymarked_Trails-Cycling',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue