]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/leaflet.maptiler.js
Merge remote-tracking branch 'upstream/pull/6227'
[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       maxZoom: 23,
8       style:
9         "https://api.maptiler.com/maps/openstreetmap/style.json?key=" +
10         options.apikey,
11       ...options
12     });
13   },
14   onAdd: function (map) {
15     L.MaplibreGL.prototype.onAdd.call(this, map);
16     const maplibreMap = this.getMaplibreMap();
17     const supportedLanguages = maplibregl.Map.prototype.supportedLanguages;
18     for (const preferredLanguage of OSM.preferred_languages) {
19       const normalizedPreferredLanguage = preferredLanguage
20         .toLowerCase()
21         .replace("-", "_");
22       const matchedLanguage = supportedLanguages.find(
23         (supported) => supported.toLowerCase() === normalizedPreferredLanguage
24       );
25       if (matchedLanguage) {
26         maplibreMap.setLanguage(matchedLanguage);
27         break;
28       }
29     }
30   },
31   onRemove: function (map) {
32     L.MaplibreGL.prototype.onRemove.call(this, map);
33   }
34 });