Quick start (hosted):
In your HTML add:
<script src="https://v1.maps.black/maps.black-component.js" type="module"></script>
And then where you want to show a map add:
<maps-black></maps-black>
Quick start (self-hosted):
Upload these files to any file hosting that supports byte ranges (normal web servers, s3, cloudflare r2, etc.):
- https://v1.maps.black/maps.black-component.js
- https://v1.maps.black/maps.black.js
- https://v1.maps.black/resourcetiles-minimal.pmtiles (this file contains all the styles, fonts and other metadata)
And the tilesets depending on what style you want to use (for example https://v1.maps.black/openstreetmap-protomaps.pmtiles).
In your HTML add (replace ${YOUR_URL} with the url to where you uploaded the files):
<script src="${YOUR_URL}/maps.black-component.js" type="module"></script>
And then where you want to show a map add:
<maps-black loader="pmtiles"></maps-black>
All resources needed are included in the files, it will load no resources from other domains and it will use the relative path based on where the component is loaded from, so you can use this in places that are privacy sensitive or where internet access is not guaranteed.
Space requirements
Depending on which data you want to host it varies from ~100MB to ~5TB for the full dataset in all formats (a full replica of a maps.black server). A minimal naturalearth tileset is around 100MB. A normal, global openstreetmap should require around 80GB in one schema, one format. Add on 100GB for terrain data (used for 3d terrain, hillshading and contour lines) and 300GB for satellite images if you want those.
Squashfs hosting
If you want to serve plain tiles (not pmtiles), you download the squashfs files and mount those in the same folder as your js files. Serve this dir with any webserver and include the component from that domain/path. You'll need fonts, styles, tilejson and the tilesets of your choosing.
<maps-black>
web component attributes
zoom
- Initial zoom level. Possible values: number between
0
(default) and22
lat
- Initial latitude center point. Possible values: number between
-90
and90
. Defaults to0
lon
- Initial longitude center point. Possible values: number between
-180
and180
. Defaults to0
pitch
- Initial camera pitch. Possible values: number between
0
and60
. Defaults to0
bearing
- Initial camera bearing. Possible values: number between
0
and360
. Defaults to0
loading
- Controls if the map loads directly or when visible. Possible values:
lazy
(default),eager
preloadmargin
- If lazyloading controls how far before the map enters view to start loading it. Possible values: Any CSS length. Defaults to
200px
navigationcontrol
- Controls if maplibres default navigationcontrol is shown. Possible values:
false
(default),true
markers
- Adds markers to the map. Optionally with a popup showing HTML. Possible values: JSON in the format of
[{ "lat":0, "lon":0, "html":"Hello World!" }]
languages
- List of languages to show the map in, tried in order. Defaults to
navigator.languages
which are the language preferences of the browser. Possible values: Comma separated string in the format ofen,en-GB,pt,ar
languagemode
- Controls how label languages are shown. Possible values:
both
(default, meaning show both the translated name and local name),translated
(show only the translated name),local
(show only the local name) changemode
- Controls how the camera is moved when you update lat/lon/zoom/pitch/bearing. Possible values:
flyto
(default, meaning smoothly transition to the new point),jumpto
(meaning directly jump to the new point) mapstyle
- The map style to use. Possible values: see the style selector under the map on this page. Defaults to
openstreetmap-protomaps/protomaps/grayscale
mapstyleurl
- Load a map style from another URL. Possible values: any valid URL pointing to a stylejson.
mapstylejson
- Load a map style from a JSON blob. Possible values: any valid stylejson JSON blob.
loader
- Controls if using the pmtiles loader or the raw HTTP loader. PMTiles are slightly slower but easier to host. Possible values:
pmtiles
orhttp
terrain
- Controls if 3d terrain is shown. Possible values:
false
(default),true
hillshade
- Controls if hillshading is shown. Possible values:
false
(default),true
contours
- Controls if contour lines are shown. Possible values:
false
(default),true
globe
- If true a globe projection will be used. Possible values:
false
(default),true
attribution
- Controls how attribution is shown. Possible values:
minimal
(default, only show attribution when legally required),generous
(always show attribution, even when not required) cooperativegestures
- If true the map is only accessible on desktop while holding Command/Ctrl and only accessible on mobile with two fingers:
true
(default),false
baseurl
- Can be set to use a different base url if map data is not hosted at the same place as JS components. Possible values:
import.meta.url
(default), or any valid URL
The component also has a property called map
which is the maplibre instance, this can be used to customize the map further. It emits an event map
when the map instance has been created and you can use that for further customization or listen to other events.
StyleJSON/TileJSON usage
You can of course also use the StyleJSON or TileJSON directly in maplibre, but you loose some features like automatic localization, easily switch on terrain/hillshade/contours, automatic attributions, etc. These styles are localized to english only, edit them if you need different languages.
If you use these directly make sure you check the license files to make sure that you are following any requirements.
Data
We use data from a couple of different sources, these are the main ones:
OpenStreetMap
OpenStreetMap is the largest open-source, volunteer mapping project. It is used by everything from humanitarian projects, small buisnesses, and large enterprises like apple, meta, microsoft, amazon. Premissive licensed but with strict attribution requirements.
Natural Earth
Natural Earth is a good source of low-zoom data for cultural and physical features. Has a premissive license and we package it for use as a raster backdrop for OpenStreetMap or standalone use as a attribution free map.
Natural Earth 6
Natural Earth 6 is a successor to Natural Earth by the same maintainers. It is currently in development but we use it for raster maps since that data is complete enough for usage. We will produce vectors for it when the data is more complete. Extremely premissive licensed.
Wikidata
Wikidata is a project from wikimedia to produce a large graph tripestore with facts. If you've seen the infoboxes (summary tables) on Wikipedia you have used Wikidata. We use it for translations of place names and will use it for more detail in Natural Earth maps. Extremely premissive licensed.
Terrarium
A open source elevation data dataset produced by the mapzen project. Is hosted for free on AWS but we also produce tilesets for self-hosting. Permissively licensed but with some attribution requirements.
Due to the size of terrarium we split it into multiple files, and only up to zoom 10 is packaged for pmtiles/mbtiles:
- terrarium-z0-z10
- Zoom levels 0 to 10, enough for most purposes. Takes about 100GB
- terrarium-z11
- Only zoom 11, use as a addition to z0-z10. Takes about 250GB
- terrarium-z12
- Only zoom 12, use as a addition to z0-z10. Takes about 700GB
- terrarium-z13
- Only zoom 13, use as a addition to z0-z10. Takes about 2TB
s2maps
One of the few (only?) open cloudless satellite datasets available that I know of. The 2016 version only requires attribution, but the 2023 version also has non-commercial and share-alike restrictions. The share-alike restriction should be taken care of by maps.black unless you modify the data.
Downloads:Vector schemas
A vector schema basically describes what layers (like roads, buildings, borders) might exist and what properties they have. A style generally must be designed for a specific vector schema to work.
We build all the vector datasets into three separate vector schemas:
- openmaptiles
- The most popular schema, but development seems stagnant. Available under a CC-BY license. Has many different styles, but many use undocumented or deprecated fields so there are some changes to the styles here compared to the upstream repos.
TileJSON: Downloads: - protomaps
- The schema mostly used for pmtiles and a reimplementation of the mapzen/tilezen schema. Actively developed. Available under a permissive CC0 license. The main styles seem to come from protomaps themselves.
TileJSON: Downloads: - shortbread
- A minimal schema initially by GeoFabrik. Development status seems unclear. Available under a permissive CC0 license. The main styles seem to come from versatiles, a project producing a different storage format than the ones we support.
TileJSON: Downloads:
All these vector schemas (at least in current usage) use MVT (Mapbox Vector Tiles) as a base specification, which is based on PBF (Protocol Buffer Binary Format), so often the same tools can be configured to produce either or variations.
Styles
A style describes the map design in a JSON document. The style says how and when to show features whereas the data says where they are and what they say.
We have tried to gather many vector styles for our three schemas. They are organized in this manner: {datasource}-{schema}/{author}/{stylename}
, so naturalearth-openmaptiles/openfreemap/positron
means the datasource is naturalearth, the schema is openmaptiles, the author is openfreemap and the style name is positron.
We have also tried to standardize the layout of each style so that we have a style.json
containing the style, a sprites
folder containing any sprites (split by folder if there are multiple sets) and {icons,svgs}*
for any icons used to build the sprites. Additionally we want to track the source and license for each style, so we have LICENSE.txt
and SOURCE.txt
. Naming of fonts and the keys for rendering labels have also been standardized, but in general we tried to keep the look and feel of the upstream map.
Besides the vector schemas we also have bare styles for each of the raster datasets.
You can download all the styles, as a part of the resourcetiles or at the maps.black repo. I am definetly not a map designer, so PRs are welecome for fixes or new styles.
See all of the styles below or interactive at the top of the page.
openstreetmap-openmaptiles - cartodb - dark-matter



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/cartodb/dark-matter"></maps-black>
Links:
openstreetmap-openmaptiles - cartodb - positron



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/cartodb/positron"></maps-black>
Links:
openstreetmap-openmaptiles - cartodb - voyager



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/cartodb/voyager"></maps-black>
Links:
openstreetmap-openmaptiles - maps.black - hybrid-2016



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/maps.black/hybrid-2016"></maps-black>
Links:
openstreetmap-openmaptiles - maps.black - hybrid-2023



WARNING: This style is restricted to non-commercial usage due to the license of the underlying satellite data.
Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/maps.black/hybrid-2023"></maps-black>
Links:
openstreetmap-openmaptiles - maputnik - liberty



Datasets:
- naturalearth6-NE2_HR_SR_W_DR-WEBP
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/maputnik/liberty"></maps-black>
Links:
openstreetmap-openmaptiles - nst-guide - liberty-topo



Datasets:
- naturalearth6-NE2_HR_SR_W_DR-WEBP
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/nst-guide/liberty-topo"></maps-black>
Links:
openstreetmap-openmaptiles - openfreemap - bright



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openfreemap/bright"></maps-black>
Links:
openstreetmap-openmaptiles - openfreemap - dark



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openfreemap/dark"></maps-black>
Links:
openstreetmap-openmaptiles - openfreemap - fiord



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openfreemap/fiord"></maps-black>
Links:
openstreetmap-openmaptiles - openfreemap - liberty



Datasets:
- naturalearth6-NE2_HR_SR_W_DR-WEBP
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openfreemap/liberty"></maps-black>
Links:
openstreetmap-openmaptiles - openfreemap - positron



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openfreemap/positron"></maps-black>
Links:
openstreetmap-openmaptiles - openmaptiles - basic



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openmaptiles/basic"></maps-black>
Links:
openstreetmap-openmaptiles - openmaptiles - bright



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openmaptiles/bright"></maps-black>
Links:
openstreetmap-openmaptiles - openmaptiles - dark-matter



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openmaptiles/dark-matter"></maps-black>
Links:
openstreetmap-openmaptiles - openmaptiles - fiord



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openmaptiles/fiord"></maps-black>
Links:
openstreetmap-openmaptiles - openmaptiles - maptiler-3d



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openmaptiles/maptiler-3d"></maps-black>
Links:
openstreetmap-openmaptiles - openmaptiles - openmaptiles



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openmaptiles/openmaptiles"></maps-black>
Links:
openstreetmap-openmaptiles - openmaptiles - positron



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openmaptiles/positron"></maps-black>
Links:
openstreetmap-openmaptiles - openmaptiles - terrain



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openmaptiles/terrain"></maps-black>
Links:
openstreetmap-openmaptiles - openmaptiles - toner



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/openmaptiles/toner"></maps-black>
Links:
openstreetmap-openmaptiles - osm-americana - americana



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/osm-americana/americana"></maps-black>
Links:
openstreetmap-openmaptiles - qwant - basic



Datasets:
- openstreetmap-openmaptiles
Component usage: <maps-black mapstyle="openstreetmap-openmaptiles/qwant/basic"></maps-black>
Links:
openstreetmap-protomaps - maps.black - hybrid-2016



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/maps.black/hybrid-2016"></maps-black>
Links:
openstreetmap-protomaps - maps.black - hybrid-2023



WARNING: This style is restricted to non-commercial usage due to the license of the underlying satellite data.
Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/maps.black/hybrid-2023"></maps-black>
Links:
openstreetmap-protomaps - protomaps - bio



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/bio"></maps-black>
Links:
openstreetmap-protomaps - protomaps - black_and_white



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/black_and_white"></maps-black>
Links:
openstreetmap-protomaps - protomaps - black



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/black"></maps-black>
Links:
openstreetmap-protomaps - protomaps - dark



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/dark"></maps-black>
Links:
openstreetmap-protomaps - protomaps - dusk_rose



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/dusk_rose"></maps-black>
Links:
openstreetmap-protomaps - protomaps - grayscale



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/grayscale"></maps-black>
Links:
openstreetmap-protomaps - protomaps - iris_bloom



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/iris_bloom"></maps-black>
Links:
openstreetmap-protomaps - protomaps - light



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/light"></maps-black>
Links:
openstreetmap-protomaps - protomaps - rainforest



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/rainforest"></maps-black>
Links:
openstreetmap-protomaps - protomaps - seafoam



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/seafoam"></maps-black>
Links:
openstreetmap-protomaps - protomaps - white



Datasets:
- openstreetmap-protomaps
Component usage: <maps-black mapstyle="openstreetmap-protomaps/protomaps/white"></maps-black>
Links:
openstreetmap-shortbread - maps.black - hybrid-2016



Datasets:
- openstreetmap-shortbread
Component usage: <maps-black mapstyle="openstreetmap-shortbread/maps.black/hybrid-2016"></maps-black>
Links:
openstreetmap-shortbread - maps.black - hybrid-2023



WARNING: This style is restricted to non-commercial usage due to the license of the underlying satellite data.
Datasets:
- openstreetmap-shortbread
Component usage: <maps-black mapstyle="openstreetmap-shortbread/maps.black/hybrid-2023"></maps-black>
Links:
openstreetmap-shortbread - versatiles - colorful



Datasets:
- openstreetmap-shortbread
Component usage: <maps-black mapstyle="openstreetmap-shortbread/versatiles/colorful"></maps-black>
Links:
openstreetmap-shortbread - versatiles - eclipse



Datasets:
- openstreetmap-shortbread
Component usage: <maps-black mapstyle="openstreetmap-shortbread/versatiles/eclipse"></maps-black>
Links:
openstreetmap-shortbread - versatiles - graybeard



Datasets:
- openstreetmap-shortbread
Component usage: <maps-black mapstyle="openstreetmap-shortbread/versatiles/graybeard"></maps-black>
Links:
openstreetmap-shortbread - versatiles - neutrino



Datasets:
- openstreetmap-shortbread
Component usage: <maps-black mapstyle="openstreetmap-shortbread/versatiles/neutrino"></maps-black>
Links:
naturalearth-openmaptiles - cartodb - dark-matter


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/cartodb/dark-matter"></maps-black>
Links:
naturalearth-openmaptiles - cartodb - positron


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/cartodb/positron"></maps-black>
Links:
naturalearth-openmaptiles - cartodb - voyager


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/cartodb/voyager"></maps-black>
Links:
naturalearth-openmaptiles - maps.black - hybrid-2016


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/maps.black/hybrid-2016"></maps-black>
Links:
naturalearth-openmaptiles - maps.black - hybrid-2023


WARNING: This style is restricted to non-commercial usage due to the license of the underlying satellite data.
Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/maps.black/hybrid-2023"></maps-black>
Links:
naturalearth-openmaptiles - maputnik - liberty


Datasets:
- naturalearth6-NE2_HR_SR_W_DR-WEBP
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/maputnik/liberty"></maps-black>
Links:
naturalearth-openmaptiles - nst-guide - liberty-topo


Datasets:
- naturalearth6-NE2_HR_SR_W_DR-WEBP
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/nst-guide/liberty-topo"></maps-black>
Links:
naturalearth-openmaptiles - openfreemap - bright


Datasets:
- naturalearth6-NE2_HR_SR_W_DR-WEBP
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openfreemap/bright"></maps-black>
Links:
naturalearth-openmaptiles - openfreemap - dark


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openfreemap/dark"></maps-black>
Links:
naturalearth-openmaptiles - openfreemap - fiord


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openfreemap/fiord"></maps-black>
Links:
naturalearth-openmaptiles - openfreemap - liberty


Datasets:
- naturalearth6-NE2_HR_SR_W_DR-WEBP
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openfreemap/liberty"></maps-black>
Links:
naturalearth-openmaptiles - openfreemap - positron


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openfreemap/positron"></maps-black>
Links:
naturalearth-openmaptiles - openmaptiles - basic


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openmaptiles/basic"></maps-black>
Links:
naturalearth-openmaptiles - openmaptiles - bright


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openmaptiles/bright"></maps-black>
Links:
naturalearth-openmaptiles - openmaptiles - dark-matter


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openmaptiles/dark-matter"></maps-black>
Links:
naturalearth-openmaptiles - openmaptiles - fiord


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openmaptiles/fiord"></maps-black>
Links:
naturalearth-openmaptiles - openmaptiles - maptiler-3d


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openmaptiles/maptiler-3d"></maps-black>
Links:
naturalearth-openmaptiles - openmaptiles - openmaptiles


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openmaptiles/openmaptiles"></maps-black>
Links:
naturalearth-openmaptiles - openmaptiles - positron


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openmaptiles/positron"></maps-black>
Links:
naturalearth-openmaptiles - openmaptiles - terrain


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openmaptiles/terrain"></maps-black>
Links:
naturalearth-openmaptiles - openmaptiles - toner


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/openmaptiles/toner"></maps-black>
Links:
naturalearth-openmaptiles - osm-americana - americana


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/osm-americana/americana"></maps-black>
Links:
naturalearth-openmaptiles - qwant - basic


Datasets:
- naturalearth-openmaptiles
Component usage: <maps-black mapstyle="naturalearth-openmaptiles/qwant/basic"></maps-black>
Links:
naturalearth-protomaps - maps.black - hybrid-2016


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/maps.black/hybrid-2016"></maps-black>
Links:
naturalearth-protomaps - maps.black - hybrid-2023


WARNING: This style is restricted to non-commercial usage due to the license of the underlying satellite data.
Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/maps.black/hybrid-2023"></maps-black>
Links:
naturalearth-protomaps - protomaps - bio


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/bio"></maps-black>
Links:
naturalearth-protomaps - protomaps - black_and_white


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/black_and_white"></maps-black>
Links:
naturalearth-protomaps - protomaps - black


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/black"></maps-black>
Links:
naturalearth-protomaps - protomaps - dark


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/dark"></maps-black>
Links:
naturalearth-protomaps - protomaps - dusk_rose


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/dusk_rose"></maps-black>
Links:
naturalearth-protomaps - protomaps - grayscale


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/grayscale"></maps-black>
Links:
naturalearth-protomaps - protomaps - iris_bloom


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/iris_bloom"></maps-black>
Links:
naturalearth-protomaps - protomaps - light


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/light"></maps-black>
Links:
naturalearth-protomaps - protomaps - rainforest


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/rainforest"></maps-black>
Links:
naturalearth-protomaps - protomaps - seafoam


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/seafoam"></maps-black>
Links:
naturalearth-protomaps - protomaps - white


Datasets:
- naturalearth-protomaps
Component usage: <maps-black mapstyle="naturalearth-protomaps/protomaps/white"></maps-black>
Links:
naturalearth-shortbread - maps.black - hybrid-2016


Datasets:
- naturalearth-shortbread
Component usage: <maps-black mapstyle="naturalearth-shortbread/maps.black/hybrid-2016"></maps-black>
Links:
naturalearth-shortbread - maps.black - hybrid-2023


WARNING: This style is restricted to non-commercial usage due to the license of the underlying satellite data.
Datasets:
- naturalearth-shortbread
Component usage: <maps-black mapstyle="naturalearth-shortbread/maps.black/hybrid-2023"></maps-black>
Links:
naturalearth-shortbread - versatiles - colorful


Datasets:
- naturalearth-shortbread
Component usage: <maps-black mapstyle="naturalearth-shortbread/versatiles/colorful"></maps-black>
Links:
naturalearth-shortbread - versatiles - eclipse


Datasets:
- naturalearth-shortbread
Component usage: <maps-black mapstyle="naturalearth-shortbread/versatiles/eclipse"></maps-black>
Links:
naturalearth-shortbread - versatiles - graybeard


Datasets:
- naturalearth-shortbread
Component usage: <maps-black mapstyle="naturalearth-shortbread/versatiles/graybeard"></maps-black>
Links:
naturalearth-shortbread - versatiles - neutrino


Datasets:
- naturalearth-shortbread
Component usage: <maps-black mapstyle="naturalearth-shortbread/versatiles/neutrino"></maps-black>
Links:
raster - naturalearth6 - GRAY_HR_DARK_OB_DR

Variant: Gray Earth Dark with ocean bottom and drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/GRAY_HR_DARK_OB_DR-WEBP"></maps-black>
Links:
raster - naturalearth6 - GRAY_HR_DARK_W_DR

Variant: Gray Earth Dark with drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/GRAY_HR_DARK_W_DR-WEBP"></maps-black>
Links:
raster - naturalearth6 - GRAY_HR_DARK

Variant: Gray Earth Dark. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/GRAY_HR_DARK-WEBP"></maps-black>
Links:
raster - naturalearth6 - GRAY_HR_DARK_W

Variant: Gray Earth Dark with flat ocean. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/GRAY_HR_DARK_W-WEBP"></maps-black>
Links:
raster - naturalearth6 - GRAY_HR_LIGHT_OB_DR

Variant: Gray Earth Light with ocean bottom and drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/GRAY_HR_LIGHT_OB_DR-WEBP"></maps-black>
Links:
raster - naturalearth6 - GRAY_HR_LIGHT_W_DR

Variant: Gray Earth Light with drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/GRAY_HR_LIGHT_W_DR-WEBP"></maps-black>
Links:
raster - naturalearth6 - GRAY_HR_LIGHT

Variant: Gray Earth Light. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/GRAY_HR_LIGHT-WEBP"></maps-black>
Links:
raster - naturalearth6 - GRAY_HR_LIGHT_W

Variant: Gray Earth Light with flat ocean. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/GRAY_HR_LIGHT_W-WEBP"></maps-black>
Links:
raster - naturalearth6 - HYP_HR_SR_OB_DR

Variant: Cross-Blended Hypsometric Tints with ocean bottom and drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/HYP_HR_SR_OB_DR-WEBP"></maps-black>
Links:
raster - naturalearth6 - HYP_HR_SR_OB

Variant: Cross-Blended Hypsometric Tints with ocean bottom. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/HYP_HR_SR_OB-WEBP"></maps-black>
Links:
raster - naturalearth6 - HYP_HR_SR_W_DR

Variant: Cross-Blended Hypsometric Tints with drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/HYP_HR_SR_W_DR-WEBP"></maps-black>
Links:
raster - naturalearth6 - HYP_HR_SR

Variant: Cross-Blended Hypsometric Tints with shaded relief. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/HYP_HR_SR-WEBP"></maps-black>
Links:
raster - naturalearth6 - HYP_HR_SR_W

Variant: Cross-Blended Hypsometric Tints with shaded relief and flat ocean. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/HYP_HR_SR_W-WEBP"></maps-black>
Links:
raster - naturalearth6 - HYP_HR

Variant: Cross-Blended Hypsometric Tints. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/HYP_HR-WEBP"></maps-black>
Links:
raster - naturalearth6 - LC_HR_HD

Variant: 500m MODIS Land Cover. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/LC_HR_HD-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE1_HR_SR_OB_DR

Variant: Natural Earth 1 with shaded relief, ocean bottom and drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE1_HR_SR_OB_DR-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE1_HR_SR_OB

Variant: Natural Earth 1 with shaded relief and ocean bottom. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE1_HR_SR_OB-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE1_HR_SR_W_DR

Variant: Natural Earth 1 with shaded relief and drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE1_HR_SR_W_DR-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE1_HR_SR

Variant: Natural Earth 1 with shaded relief. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE1_HR_SR-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE1_HR_SR_W

Variant: Natural Earth 1 with shaded relief and flat ocean. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE1_HR_SR_W-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE1_HR

Variant: Natural Earth 1. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE1_HR-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE2_HR_SR_OB_DR

Variant: Natural Earth 2 with shaded relief, ocean bottom and drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE2_HR_SR_OB_DR-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE2_HR_SR_OB

Variant: Natural Earth 2 with shaded relief and ocean bottom. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE2_HR_SR_OB-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE2_HR_SR_W_DR

Variant: Natural Earth 2 with shaded relief and drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE2_HR_SR_W_DR-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE2_HR_SR

Variant: Natural Earth 1 with shaded relief. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE2_HR_SR-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE2_HR_SR_W

Variant: Natural Earth 1 with shaded relief and flat ocean. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE2_HR_SR_W-WEBP"></maps-black>
Links:
raster - naturalearth6 - NE2_HR

Variant: Natural Earth 2. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/NE2_HR-WEBP"></maps-black>
Links:
raster - naturalearth6 - OB_HR_DARK

Variant: Ocean Bottom, dark. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/OB_HR_DARK-WEBP"></maps-black>
Links:
raster - naturalearth6 - OB_HR_LIGHT

Variant: Ocean Bottom, light. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/OB_HR_LIGHT-WEBP"></maps-black>
Links:
raster - naturalearth6 - SR_HR_UD

Variant: Shaded Relief, detailed. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth6/SR_HR_UD-WEBP"></maps-black>
Links:
raster - naturalearth - GRAY_HR_SR_OB_DR

Variant: Gray Earth with Shaded Relief, Hypsography, Ocean Bottom, and Drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/GRAY_HR_SR_OB_DR-WEBP"></maps-black>
Links:
raster - naturalearth - GRAY_HR_SR_OB

Variant: Gray Earth with Shaded Relief, Hypsography, and Ocean Bottom. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/GRAY_HR_SR_OB-WEBP"></maps-black>
Links:
raster - naturalearth - GRAY_HR_SR

Variant: Gray Earth with Shaded Relief and Hypsography. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/GRAY_HR_SR-WEBP"></maps-black>
Links:
raster - naturalearth - GRAY_HR_SR_W

Variant: Gray Earth with Shaded Relief, Hypsography, and Flat Water. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/GRAY_HR_SR_W-WEBP"></maps-black>
Links:
raster - naturalearth - HYP_HR_SR_OB_DR

Variant: ___. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/HYP_HR_SR_OB_DR-WEBP"></maps-black>
Links:
raster - naturalearth - HYP_HR_SR_W_DR

Variant: Cross Blended Hypso with Shaded Relief, Water, and Drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/HYP_HR_SR_W_DR-WEBP"></maps-black>
Links:
raster - naturalearth - HYP_HR_SR

Variant: Cross Blended Hypso with Shaded Relief. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/HYP_HR_SR-WEBP"></maps-black>
Links:
raster - naturalearth - HYP_HR_SR_W

Variant: Cross Blended Hypso with Shaded Relief and Water. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/HYP_HR_SR_W-WEBP"></maps-black>
Links:
raster - naturalearth - HYP_HR

Variant: Cross Blended Hypso. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/HYP_HR-WEBP"></maps-black>
Links:
raster - naturalearth - NE1_HR_LC_SR_W_DR

Variant: Natural Earth I with Shaded Relief, Water, and Drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/NE1_HR_LC_SR_W_DR-WEBP"></maps-black>
Links:
raster - naturalearth - NE1_HR_LC_SR

Variant: Natural Earth I with Shaded Relief. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/NE1_HR_LC_SR-WEBP"></maps-black>
Links:
raster - naturalearth - NE1_HR_LC_SR_W

Variant: Natural Earth I with Shaded Relief and Water. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/NE1_HR_LC_SR_W-WEBP"></maps-black>
Links:
raster - naturalearth - NE1_HR_LC

Variant: Natural Earth I. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/NE1_HR_LC-WEBP"></maps-black>
Links:
raster - naturalearth - NE2_HR_LC_SR_W_DR

Variant: Natural Earth II with Shaded Relief, Water, and Drainages. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/NE2_HR_LC_SR_W_DR-WEBP"></maps-black>
Links:
raster - naturalearth - NE2_HR_LC_SR

Variant: Natural Earth II with Shaded Relief. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/NE2_HR_LC_SR-WEBP"></maps-black>
Links:
raster - naturalearth - NE2_HR_LC_SR_W

Variant: Natural Earth II with Shaded Relief and Water. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/NE2_HR_LC_SR_W-WEBP"></maps-black>
Links:
raster - naturalearth - NE2_HR_LC

Variant: Natural Earth II. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/NE2_HR_LC-WEBP"></maps-black>
Links:
raster - naturalearth - SR_HR

Variant: Shaded Relief Basic. Similar to lukasmartinelli's naturalearthtiles but updated. In webp format, but also available in png from the github release
Component usage: <maps-black mapstyle="raster/naturalearth/SR_HR-WEBP"></maps-black>
Links:
raster - s2maps - 2016


Component usage: <maps-black mapstyle="raster/s2maps/2016"></maps-black>
Links:
raster - s2maps - 2023


WARNING: This style is restricted to non-commercial usage due to the license of the underlying satellite data.
Component usage: <maps-black mapstyle="raster/s2maps/2023"></maps-black>
Links:
raster - terrarium - terrarium


Component usage: <maps-black mapstyle="raster/terrarium/terrarium"></maps-black>
Links:
Data storage formats
A data storage format is basically how to pack many map tiles into one file. If we stored map tiles directly on disk there would be 300 million small files which makes it hard to work with and bloat space because the file metadata.
We build all the datasets into 3 separate data storage formats:
- mbtiles
- Basically a standardized database schema for storing mvt tiles in sqlite. Supported by many GIS applications and web servers. Requires a server or a large clientside shim. Recommended if you have applications that need mbtiles or are converting into a different format, otherwise go with squashfs or pmtiles.
- pmtiles
- A newer format that is meant to either be used directly by the client via byte-range requests or via servers like mbtiles. Optimized for serverless hosting. Is getting wider support in day-by-day.
- squashfs
- A compressed, mountable linux filesystem. The main benefits are that webservers can utlize it efficently, clients can cache it (compared to pmtiles range requests) and you can optimize a server for throughput with linux kernel features like sendfile and kTLS. Needs a linux server at least as large as the images you serve.
Licenses
It can be hard to keep track of all the different licenses and legal requirements when using a ecosystem that intertwines software, databases, licensed datasets, design decisions, fonts, iconsets, etc. We bundle every license in our resourcetiles file and show it under the attributions if any part requires attribution. We also give the option to show it even when it is not needed (attribution=generous
) if you feel like giving a bit of thanks to the creators of the data and help others find it.
In general the licenses we use are (keep in mind that I am not a lawyer, and I am especially not your lawyer):
- CC0
- A public domain license. Our own datasets built on other public domain data uses this, and we use many CC0 resources. Full text
- Unlicense
- A public domain license. Full text
- CC-BY
- A permissive license with attribution requirements. In general those are taken care of by out attribution info embedded on each map. Placement of attribution needs to be reasonable but cannot be insited. We place these under the attributions popup. Full text
- CC-BY-NC-SA
- A license requiring attribution, non-commercial use and that you share any changes to the data under the same license. In our services this is only used for s2maps-sentinel2-2023, which requires the noncommerical attribute to agree that this is non-commerical use. Full text
- ODbL
- A permissive license with strict attribution requirements. In general those are taken care of by out attribution info embedded on each map. The main change for map users from CC-BY is that the author can insist on the placement and form of that attribution. We comply with those requirements by adding it in the lower left corner as is standard. Full text
- BSD 3-Clause
- A permissive license (basically) requiring license/copyright in redistribution. Full text
- BSD 2-Clause
- A permissive license (basically) requiring license/copyright in redistribution. Full text
- ISC
- A permissive license (basically) requiring license/copyright in redistribution. Full text
- MIT
- A permissive license (basically) requiring license/copyright in redistribution. Full text
- SIL OFL
- A permissive license used for fonts. Full text
- Apache-2
- A permissive license used for fonts/code. Full text
- Terrarium
- Terrarium uses many different datasources which are either under public domain, CC-BY or a compatible license such as Open Government License from United Kingdom or Open Government Licence from Canada. For full details and credit see the license file
Attribution free maps
Our maps built on naturalearth and using shortbread or protomaps schemas do not require any attribution and will not show any unless you set attribution=generous
. Those maps are generally only useable to zoom level 8 since they lack the detail of openstreetmap data.
All the raster data from naturalearth is also available to use without attribution, as it is public domain via CC0.
Resourcetiles
To make it easier to selfhost maps with all the required data (including styles, sprites, glyphs, fonts, licenses, etc.) we build special pmtiles that include those. The way we do that is by packaging fonts into z21 (chosen because its max zoom exceeds that of the max unicode code point), licenses for those into z20, and other files at z19x0. They are indexed by a json file at 0/0/0.
These are loaded by a custom protocol in maplibre called pmtileresources://
which accepts relative urls (relative to the component or configured baseurl).
These are in pmtiles and can be found at a github release
These are available in three different options:
- minimal
- All styles, but only the exact fonts used in them
- core
- All styles, but only the exact font families used in them
- full
- All styles, all fonts from google fonts
Fonts
Fonts for maplibre need to be packaged into a special format. We provide prepackaged fonts in the same way we do resourcetiles. These are in squashfs and can be found at a github release
- minimal
- Only the exact fonts used in included styles
- core
- Only the exact font families used in included styles
- full
- All fonts from google fonts
Localization
Different styles and schemas use different ways to localize (or not) maps, we tried to stick to one way for our styles.
As an example: openmaptiles has deprecated fields for name_en and name_de, but styles still use them, it has undocumented fields for name:latin and name:nonlatin, but many styles require them to work.
We've stuck with one way across all styles/schemas, which is use the browser languages (via navigator.languages
) for name:${LANGUAGE}
, and show the local language label in smaller text below it.
This means that that at style load we modify the style to show the users language stack, or the ones configured on the web component.
SLA
We give no SLA or guarantees of uptime. If you want that you can self-host, setup a caching proxy or CDN in front of us (should be easy since we set cache-control headers) or email me regarding help setting up a dedicated server: maps.black@richter.id