In the style JSON configuration, allow to use the local:// pseudo-protocol prefix also for raster tile source URLs. When serving the style JSON, rewrite it into an absolute URL using the public URL or the Host header from the request. This allows to use raster tile sources which are served from the same domain, but externally from tileserver-gl. The requests could be handled by a reverse proxy in front of tileserver-gl for example, and redirected to a different service or static files. Instead of hardcoding an absolute host name in the style configuration, using a relative URL allows to use the same style configuration on different hosts and on localhost in the development environment. |
||
|---|---|---|
| docs | ||
| public | ||
| src | ||
| test | ||
| .dockerignore | ||
| .gitignore | ||
| .travis.yml | ||
| Dockerfile | ||
| Dockerfile_light | ||
| Dockerfile_test | ||
| ISSUE_TEMPLATE.md | ||
| LICENSE.md | ||
| package.json | ||
| publish.js | ||
| PUBLISHING.md | ||
| README.md | ||
| README_light.md | ||
| run.sh | ||
TileServer GL
Vector and raster maps with GL styles. Server side rendering by Mapbox GL Native. Map tile server for Mapbox GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc.
Get Started
Make sure you have Node.js version 10 installed (running node -v it should output something like v10.17.0).
Install tileserver-gl with server-side raster rendering of vector tiles with npm
npm install -g tileserver-gl
Now download vector tiles from OpenMapTiles.
curl -o zurich_switzerland.mbtiles https://[GET-YOUR-LINK]/extracts/zurich_switzerland.mbtiles
Start tileserver-gl with the downloaded vector tiles.
tileserver-gl zurich_switzerland.mbtiles
Alternatively, you can use the tileserver-gl-light package instead, which is pure javascript (does not have any native dependencies) and can run anywhere, but does not contain rasterization on the server side made with MapBox GL Native.
Using Docker
An alternative to npm to start the packed software easier is to install Docker on your computer and then run in the directory with the downloaded MBTiles the command:
docker run --rm -it -v $(pwd):/data -p 8080:80 maptiler/tileserver-gl
This will download and start a ready to use container on your computer and the maps are going to be available in webbrowser on localhost:8080.
On laptop you can use Docker Kitematic and search "tileserver-gl" and run it, then drop in the 'data' folder the MBTiles.
Documentation
You can read full documentation of this project at https://tileserver.readthedocs.io/.
