1 //= require leaflet.maplibre
2 //= require @maptiler/maplibre-gl-omt-language
4 L.OSM.OpenMapTiles = L.MaplibreGL.extend({
5 initialize: function (options) {
6 L.MaplibreGL.prototype.initialize.call(this, {
8 "https://api.maptiler.com/maps/openstreetmap/style.json?key=" +
13 onAdd: function (map) {
14 L.MaplibreGL.prototype.onAdd.call(this, map);
15 const maplibreMap = this.getMaplibreMap();
16 const supportedLanguages = maplibregl.Map.prototype.supportedLanguages;
17 for (const preferredLanguage of OSM.preferred_languages) {
18 const normalizedPreferredLanguage = preferredLanguage
21 const matchedLanguage = supportedLanguages.find(
22 (supported) => supported.toLowerCase() === normalizedPreferredLanguage
24 if (matchedLanguage) {
25 maplibreMap.setLanguage(matchedLanguage);
30 onRemove: function (map) {
31 L.MaplibreGL.prototype.onRemove.call(this, map);