A free Mapbox GL basemap from OpenStreetMap with complete liberty to use and self host. OSM Liberty is a fork of OSM Bright based on free data sources with a mission for a clear good looking design for the everyday user. It is based on the vector tile schema of OpenMapTiles.
osm-liberty.lukasmartinelli.ch
You can instantly use the style in your Mapbox GL maps. The vector tiles are served from the @klokantech public CDN and the raster tiles, glyphs and sprites directly from GitHub. Take a look at the demo page source code how to display a map. To use it you don't need any access keys and you can host the tiles and assets yourself for complete liberty.
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>OSM Liberty</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<style>
body { margin:0; padding:0; }
#map { position:absolute; top:0; bottom:0; width:100%; }
</style>
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.29.0/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.29.0/mapbox-gl.css' rel='stylesheet' />
</head>
<body>
<div id='map'></div>
<script>
var map = new mapboxgl.Map({
container: 'map',
style: 'http://osm-liberty.lukasmartinelli.ch/style.json',
center: [8.538961,47.372476],
zoom: 5,
hash: true
});
</script>
</body>
</html>
- OpenMapTiles as vector data source
- Natural Earth Tiles for relief shading
- Maki as icon set
The map design originates from OSM Bright but strives to reach a unobtrusive and clean design for everyday use. Colored relief shading from Natural Earth make the low zoom levels look good.
You can edit the style directly online in Maputnik.
Use the Maputnik CLI to edit and develop the style locally.
After you've started Maputnik open the editor on localhost:8000
. This style actually triggered the need for the development of Maputnik.
maputnik --watch --file style.json
A Maki icon set using colors to distinguish between icon categories.
Color Palette
Color Name | Hex Value |
---|---|
Blue | #5d60be |
Light Blue | #4898ff |
Orange | #d97200 |
Red | #ba3827 |
Brown | #725a50 |
Green | #76a723 |
Modify Icons
- Take the
iconset.json
and upload it to the Maki Editor. - Apply your changes and download the fonts and icon set again.
- Ensure you format the JSON first with
cat iconset.json | jq -MS '.'
- Install spritezero
npm install spritezero-cli
- Generate the low resolution sprites
spritezero sprites/osm-liberty ./svgs/
- Generate the high resolution sprites
spritezero sprites/osm-liberty@2x ./svgs/