Skip to main content

Display and style rich text labels

Use the format expression to display country labels in both English and in the local language when using a classic Mapbox style.

Classic styles are no longer maintained

This example uses classic Mapbox styles (for example: MAPBOX_STREETS,SATELLITE, OUTDOORS, etc). These styles are no longer maintained and may not include the latest features or updates. Developers are encouraged to use the Mapbox Standard or Mapbox Satellite styles or creating custom styles using Mapbox Studio.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Display and style rich text labels</title>
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
<link href="https://api.mapbox.com/mapbox-gl-js/v3.17.0-beta.1/mapbox-gl.css" rel="stylesheet">
<script src="https://api.mapbox.com/mapbox-gl-js/v3.17.0-beta.1/mapbox-gl.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>
// TO MAKE THE MAP APPEAR YOU MUST
// ADD YOUR ACCESS TOKEN FROM
// https://account.mapbox.com
mapboxgl.accessToken = 'YOUR_MAPBOX_ACCESS_TOKEN';
mapboxgl.setRTLTextPlugin(
'https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js'
);

const map = new mapboxgl.Map({
container: 'map', // container ID
// Choose from Mapbox's core styles, or make your own style with Mapbox Studio
style: 'mapbox://styles/mapbox/light-v11', // style URL
center: [9.49, 49.01], // starting position [lng, lat]
zoom: 4 // starting zoom
});

map.on('load', () => {
map.setLayoutProperty('country-label', 'text-field', [
'format',
['get', 'name_en'],
{ 'font-scale': 1.2 },
'\n',
{},
['get', 'name'],
{
'font-scale': 0.8,
'text-font': [
'literal',
['DIN Offc Pro Italic', 'Arial Unicode MS Regular']
]
}
]);
});
</script>

</body>
</html>
This code snippet will not work as expected until you replace YOUR_MAPBOX_ACCESS_TOKEN with an access token from your Mapbox account.
Was this example helpful?