]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/leaflet.maptiler.js
Merge remote-tracking branch 'upstream/pull/6254'
[rails.git] / app / assets / javascripts / leaflet.maptiler.js
1 //= require leaflet.maplibre
2 //= require @maptiler/maplibre-gl-omt-language
3
4 L.OSM.OpenMapTiles = L.MaplibreGL.extend({
5   initialize: function (options) {
6     L.MaplibreGL.prototype.initialize.call(this, {
7       style:
8         "https://api.maptiler.com/maps/openstreetmap/style.json?key=" +
9         options.apikey,
10       ...options
11     });
12   },
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
19         .toLowerCase()
20         .replace("-", "_");
21       const matchedLanguage = supportedLanguages.find(
22         (supported) => supported.toLowerCase() === normalizedPreferredLanguage
23       );
24       if (matchedLanguage) {
25         maplibreMap.setLanguage(matchedLanguage);
26         break;
27       }
28     }
29   },
30   onRemove: function (map) {
31     L.MaplibreGL.prototype.onRemove.call(this, map);
32   }
33 });