EveryMap-RS
A modular, type-safe Rust wrapper for geospatial APIs across HERE Technologies, Google Maps, TomTom, MapBox, and Radar. EveryMap-RS uses domain-driven design: 10 geospatial capabilities (search, routing, isolines, map matching, tour planning, traffic, tiling, positioning, attributes, and imaging) are defined as traits in everymap-core and implemented by per-provider crates — switch providers by changing one line of code.
- Repository: https://github.com/angoratek/everymap-rs
- Core API docs: https://docs.rs/everymap-core
- Other crates:
everymap-core·everymap-providers-here·everymap-providers-google·everymap-providers-tomtom·everymap-providers-mapbox·everymap-providers-radar·everymap-cli
everymap-providers-mapbox
MapBox provider for EveryMap-RS — geocoding, routing, isochrones, map matching, tour optimization, tiles, and static maps.
Domain coverage
| Domain | Core trait | Supported |
|---|---|---|
| Search | Geocoder |
✅ |
| Routing | Router |
✅ |
| Isoline | IsolineProvider |
✅ |
| Matching | RouteMatcher |
✅ |
| Tour | TourPlanner |
✅ |
| Traffic | TrafficProvider |
— |
| Tiling | TileProvider |
✅ |
| Positioning | NetworkPositioner |
— |
| Attributes | AttributeProvider |
— |
| Imaging | MapImageProvider |
✅ |
Unsupported domains (MapBoxTraffic, MapBoxPositioner, MapBoxAttributeProvider) return a clear UnsupportedDomain error.
Installation
Quick start
use ApiKeyProvider;
use ;
use MapBoxClient;
use MapBoxGeocoder;
use Arc;
async
Provider-specific features
Extension traits: MapBoxGeocoderExt (Search Box v6 with properties-based results: full_address, name, coordinates, bbox, context) and MapBoxRouterExt.
The tour planner selects the Optimization API profile (driving/walking/cycling) from TourOptions::transport_mode. Static images use the default streets-v12 style with no file extension in the URL, and vector tiles use MapBox's own tile scheme.