Expand description
§maps_engine_rust
Zero-dependency map engine core in Rust — a port of the TypeScript maps-engine.
Provides the math every slippy-map needs, without any rendering or DOM:
projection— Web Mercator lon/lat ↔ pixel mathtile— XYZ tile ids, bounds, quadkeysgeo— haversine distance, bearings, destinationsgeofence— polygon & circle geofencesview— camera state (center, zoom, bearing, pitch)cluster— grid marker clusteringheatmap— heatmap intensity gridsdraw— drawing session with undo/redomeasure— distance / area measurement + formattingnavigation— turn-by-turn maneuver detection & progressgeojson— minimal GeoJSON types
Rendering (canvas/wgpu/web-sys) is intentionally out of scope — pair this crate with your renderer of choice.
Re-exports§
Modules§
- cluster
- Grid-based marker clustering. Port of
cluster.ts. - draw
- Drawing tools with undo/redo history. Port of
draw.ts+edit.ts. - geo
- Geographic math — distances, bearings, destinations on the sphere.
- geofence
- Geofencing — point-in-polygon and circular fences. Port of
geofence.ts. - geojson
- Minimal GeoJSON types. Port of
geojson.ts. - heatmap
- Heatmap intensity grid. Port of
heatmap.ts. - measure
- Distance / area measurement. Port of
measure.ts+measure-live.ts. - navigation
- Turn-by-turn navigation math. Port of
navigation.ts+routing.ts. - projection
- Web Mercator projection — port of
projection.ts. - tile
- Slippy-map tile math — XYZ tiles, bounds, quadkeys.
- view
- Camera / view state — center, zoom, bearing, pitch. Port of
view.ts.