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.
Functions§
- Latitude to y coordinate.
- Longitude to x coordinate.
- X to longitude coordinate.
- Y to latitude coordinate.