line/
line.rs

1use staticmap::{
2    tools::{Color, LineBuilder},
3    Error, StaticMapBuilder,
4};
5
6fn main() -> Result<(), Error> {
7    let mut map = StaticMapBuilder::new()
8        .width(300)
9        .height(400)
10        .padding((10, 0))
11        .build()
12        .unwrap();
13
14    let lat: &[f64] = &[52.5, 48.9];
15    let lon: Vec<f64> = vec![13.4, 2.3];
16
17    let red = Color::new(true, 255, 0, 0, 255);
18    let white = Color::new(true, 255, 255, 255, 255);
19
20    let line = LineBuilder::new()
21        .lat_coordinates(lat.into_iter().copied())
22        .lon_coordinates(lon.clone())
23        .width(3.)
24        .simplify(true)
25        .color(red)
26        .build()?;
27
28    let underline = LineBuilder::new()
29        .lat_coordinates(lat.into_iter().copied())
30        .lon_coordinates(lon)
31        .width(5.)
32        .simplify(true)
33        .color(white)
34        .build()?;
35
36    map.add_tool(underline);
37    map.add_tool(line);
38
39    map.save_png("line.png")?;
40
41    Ok(())
42}