1 //= require maplibre-gl
2 //= require @maplibre/maplibre-gl-leaflet
3 //= require @maptiler/maplibre-gl-omt-language
5 maplibregl.setRTLTextPlugin(OSM.RTL_TEXT_PLUGIN, true);
7 L.OSM.OpenMapTiles = L.MaplibreGL.extend({
8 initialize: function (options) {
9 L.MaplibreGL.prototype.initialize.call(this, {
12 "https://api.maptiler.com/maps/openstreetmap/style.json?key=" +
17 onAdd: function (map) {
18 L.MaplibreGL.prototype.onAdd.call(this, map);
19 const maplibreMap = this.getMaplibreMap();
20 const supportedLanguages = maplibregl.Map.prototype.supportedLanguages;
21 for (const preferredLanguage of OSM.preferred_languages) {
22 const normalizedPreferredLanguage = preferredLanguage
25 const matchedLanguage = supportedLanguages.find(
26 (supported) => supported.toLowerCase() === normalizedPreferredLanguage
28 if (matchedLanguage) {
29 maplibreMap.setLanguage(matchedLanguage);
34 onRemove: function (map) {
35 L.MaplibreGL.prototype.onRemove.call(this, map);