Skip to content

High performance SVG Leaflet/MapLibre compatible tile server

Notifications You must be signed in to change notification settings

GaspardCulis/svg-tileserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SVG TileServer

Build Status Crates.io

A simple, memory-safe 🔥 and blazingly fast 🚀 Leaflet/MapLibre compatile tile-server that serves PNG tiles rasterized from an SVG image. This can be useful when needing to render highly complex and detailed SVGs.

Built using actix_web and crates from the resvg project.

Usage

Server side

A high performance SVG Leaflet/MapLibre compatible tile server

Usage: svg-tileserver [OPTIONS] <SVG_PATH>

Arguments:
  <SVG_PATH>  The path of the SVG that should be served

Options:
  -t, --tile-size <TILE_SIZE>        The size in pixels of a PNG tile [default: 256]
  -p, --port <PORT>                  The port to start the server on [default: 8080]
  -b, --bind-address <BIND_ADDRESS>  The address to bind the server on [default: 127.0.0.1]
  -h, --help                         Print help
  -V, --version                      Print version

Client side

import L from "leaflet";

const map = new L.Map("map", {
  crs: L.CRS.Simple,
  center: [0, 0],
  zoom: 0,
});

L.tileLayer("http://localhost:8080/tile/{z}/{x}/{y}.png", {
  maxZoom: 19,
}).addTo(map);

About

High performance SVG Leaflet/MapLibre compatible tile server

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages