Skip to content

Style Sources

Martin will serve your styles as needed by MapLibre rendering libraries.

To edit these styles, we recommend using https://maputnik.github.io/editor/.

API

Martin can serve MapLibre Style Spec. Currently, Martin will use any valid JSON file as a style, but in the future, we may optimise Martin which may result in additional restrictions.

Use the /catalog API to see all the <style_id>s.

Map Style

Use the /style/<style_id> API to get a <style_id>'s JSON content.

Changes or removals of styles are reflected immediately, but additions are not. A restart of Martin is required to see new styles.

Server-side raster tile rendering

Warning

This feature is included in the default build on Linux. Its behaviour may change in patch releases.

Limitations of our current implementation:

  • Rendering support is currently only available on Linux. To add support for macOS/Windows, please see https://github.com/maplibre/maplibre-native-rs.
  • Currently, martin does not cache style rendered requests and
  • does not support concurrency for this feature.

We welcome contributions to help stabilise this feature!

We support generating a rasterised image for an XYZ tile of a given style.

To do so, you need to enable the feature in the configuration file:

styles:
    rendering: true

After doing so, you can use the /style/<style_id>/{z}/{x}/{y}.{filetype} API to get a <style_id>'s rendered png/jpeg content.

Static image prepraration

We currently do not have the same capabilities as Tileserver-GL to layout images. We are working on adding this feature and are very open to contributions.