Crate staticmap[][src]

StaticMap is a library for rendering images of tile based maps.

StaticMap uses a builder pattern for building maps, lines and markers.

To get started, build a map instance using StaticMapBuilder and find the tool builders in the tools module.

Features:

  • Render a map to a PNG image.
  • Draw features on a map, such as:
    • Lines
    • Circles
    • PNG icons

Example

use staticmap::{
    tools::{Color, LineBuilder},
    StaticMapBuilder, StaticMapError,
};

fn main() -> Result<(), StaticMapError> {
    let mut map = StaticMapBuilder::default()
        .width(300)
        .height(400)
        .padding((10, 0))
        .build()
        .unwrap();

    // Coordinates can be either vec or slice
    let lat: &[f64] = &[52.5, 48.9];
    let lon: Vec<f64> = vec![13.4, 2.3];

    let red = Color::new(true, 255, 0, 0, 255);

    let line = LineBuilder::default()
        .lat_coordinates(lat)
        .lon_coordinates(lon)
        .width(3.)
        .simplify(true)
        .color(red)
        .build();

    map.add_line(line);
    map.save_png("line.png")?;

    Ok(())
}

Modules

tools

Line and marker tools.

Structs

StaticMap

Main type. Use StaticMapBuilder as an entrypoint.

StaticMapBuilder

Builder for StaticMap.

Enums

StaticMapError