High level Rust interface for Leaflet.js.
The interface exported by wasm-bindgen is wrapped into native rust types for a more Rusty interface.
The goal of this project is to provide a full rust interface to Leaflet.
It will also provide easy to use wrappers for Rust front-end frameworks.
These can be enabled separately through features
.
Right now, the only way to use this is through cargo's git support:
[dependencies]
leaflet = { git = "https://gitlab.com/thburghout/leaflet-rs.git"}
Or with support for the front-end framework Yew:
[dependencies]
leaflet = { git = "https://gitlab.com/thburghout/leaflet-rs.git", features = ["front-end-yew"] }
Each supported interface comes with a example which can be directly run and
viewed using Trunk.
First install trunk
through cargo install trunk
.
The examples use the Mapbox API to obtain the tiles,
obtain an API key and add it to your environment variables
export MAPBOX_TOKEN=the_token
before building.
The following examples can be build & viewed by executing trunk serve
in the
respective project directories.
Currently, this project supports a pure Rust interface and Yew. Other frameworks will be added in the future. Contributions welcome.
Feature | Bare Rust | Yew |
---|---|---|
Map | ✅ | ✅ |
TileLayer | ✅ | ✅ |
Marker | ✅ | ✅ |
Polyline | ✅ | ✅ |
... |