osm_viewer/
lib.rs

1mod viewer;
2
3use structopt::StructOpt;
4
5use widgetry::Settings;
6
7pub fn main() {
8    let settings = Settings::new("OpenStreetMap viewer");
9    run(settings)
10}
11
12pub fn run(mut settings: Settings) {
13    let mut opts = map_gui::options::Options::load_or_default();
14    opts.show_building_driveways = false;
15    let args = map_gui::SimpleAppArgs::from_iter(abstutil::cli_args());
16    args.override_options(&mut opts);
17
18    settings = args
19        .update_widgetry_settings(settings)
20        .canvas_settings(opts.canvas_settings.clone());
21    widgetry::run(settings, |ctx| {
22        map_gui::SimpleApp::new(
23            ctx,
24            opts,
25            Some(args.map_name()),
26            args.cam,
27            (),
28            |ctx, app| vec![viewer::Viewer::new_state(ctx, app)],
29        )
30    });
31}
32
33#[cfg(target_arch = "wasm32")]
34use wasm_bindgen::prelude::*;
35
36#[cfg(target_arch = "wasm32")]
37#[wasm_bindgen(js_name = "run")]
38pub fn run_wasm(root_dom_id: String, assets_base_url: String, assets_are_gzipped: bool) {
39    let settings = Settings::new("OpenStreetMap viewer")
40        .root_dom_element_id(root_dom_id)
41        .assets_base_url(assets_base_url)
42        .assets_are_gzipped(assets_are_gzipped);
43
44    run(settings);
45}