UNPKG

@mapbox/mapbox-gl-language

Version:

Mapbox GL JS plugin for switching map language to the browser language.

45 lines (39 loc) 1.32 kB
<!DOCTYPE html> <html> <head> <meta charset='utf-8' /> <title>Mapbox GL Language</title> <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' /> <script src='https://api.tiles.mapbox.com/mapbox-gl-js/v2.4.0/mapbox-gl.js'></script> <link href='https://api.tiles.mapbox.com/mapbox-gl-js/v2.4.0/mapbox-gl.css' rel='stylesheet' /> <script src='index.js'></script> <style> body { margin:0; padding:0; } #map { position:absolute; top:0; bottom:0; width:100%; } </style> </head> <body> <div id='map'></div> <script> mapboxgl.accessToken = 'pk.eyJ1IjoibHVrYXNtYXJ0aW5lbGxpIiwiYSI6ImNpem85dmhwazAyajIyd284dGxhN2VxYnYifQ.HQCmyhEXZUTz3S98FMrVAQ'; const map = new mapboxgl.Map({ container: 'map', style: 'mapbox://styles/mapbox/streets-v11', center: [-98, 38.88], minZoom: 2, zoom: 3 }); mapboxgl.setRTLTextPlugin('https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.3/mapbox-gl-rtl-text.js'); const language = new MapboxLanguage(); let i = 0; setInterval(function() { map.setStyle(language.setLanguage(map.getStyle(), language.supportedLanguages[i])); if (i >= language.supportedLanguages.length - 1) { i = 0; } else { i += 1; } }, 2000); </script> </body> </html>