Expand description
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, Error,
};
fn main() -> Result<(), Error> {
let mut map = StaticMapBuilder::default()
.width(300)
.height(400)
.padding((10, 0))
.build()?;
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.to_vec())
.lon_coordinates(lon)
.width(3.)
.simplify(true)
.color(red)
.build()?;
map.add_tool(line);
map.save_png("line.png")?;
Ok(())
}
Modules
Tools for drawing features onto the map.
Structs
Helper struct for converting to pixels, and to pass information about map bounds to implementors of Tool.
Main type. Use StaticMapBuilder as an entrypoint.
Builder for StaticMap.
Enums
An enum containing all possible errors when interacting with this library.