Kothic JS is a full-featured JavaScript map rendering engine using HTML5 Canvas. It was initially developed as a JavaScript port of Kothic rendering engine written in Python.
- Rendering OpenStreetMap data visually on par with Mapnik
- MapCSS support (see How to Prepare a Map Style)
- rendering from lightweight GeoJSON-like tiles (see Tiles Format)
- easy integration with Leaflet (interactive maps library)
Include kothic.js
from the dist
directory on your page. Now you can call:
var kothic = new Kothic({
buffered: false, // (optional) if true, result will appear only after all layers are rendered
styles: ['osmosnimki-maps', 'surface'], // (optional) only specified styles will be rendered, if any
locales: ['be', 'ru', 'en'] // (optional) map languages, see below
});
locales
Kothic-JS supports map localization based on name:lang tags. Renderer will check all mentioned languages in order of persence. If object doesn't have localized name, name tag will be used.
Tile rendering:
kothic.render(
canvas, // canvas element (or its id) to render on
data, // JSON data to render
zoom, // zoom level
onRenderComplete, // (optional) callback to call when rendering is done
);
Note: you should new renderer instance for any tile you want to render since Kothic has unsolved concurrency issues.
Kothic JS is licensed under a BSD license, and we'll be glad to accept your contributions! Please send your pull requests to one of the guys below.
Darafei Praliaskouski (@Komzpa), Vladimir Agafonkin (@mourner), Maksim Gurtovenko (@Miroff)