Expand description
Core traits, types, and error handling for the EveryMap geospatial API abstraction.
This crate defines 10 domain traits (geocoding, routing, isolines, map matching, tour planning, traffic, tiling, positioning, attributes, and imaging) that provider crates implement. It also provides shared infrastructure: authentication, HTTP client logic, error types, and unsupported-domain stub macros.
§Architecture
| Module | Purpose |
|---|---|
domains | 10 domain traits with concrete option/response types |
auth | AuthProvider, ApiKeyProvider, HeaderAuthProvider |
client | Shared ProviderClient HTTP logic |
types | Coordinate, BoundingBox, Address, Polyline |
error | Structured EveryMapError with 9 variants |
§Quick Start
use everymap_core::domains::search::{Geocoder, GeocodeOptions};
use everymap_core::auth::ApiKeyProvider;
use std::sync::Arc;
let auth = Arc::new(ApiKeyProvider::new("key".into(), "apiKey".into()));
// Provider crates implement the domain traits:
// use everymap_providers_here::domain::search::HereGeocoder;Re-exports§
Modules§
- auth
- client
- domains
- error
- types
- unsupported
- Macros for generating unsupported domain stub implementations.
Macros§
- unsupported_
attributes - Generates an unsupported
AttributeProviderstub implementation. - unsupported_
image - Generates an unsupported
MapImageProviderstub implementation. - unsupported_
isoline - Generates an unsupported
IsolineProviderstub implementation. - unsupported_
positioner - Generates an unsupported
NetworkPositionerstub implementation. - unsupported_
tile - Generates an unsupported
TileProviderstub implementation. - unsupported_
tour - Generates an unsupported
TourPlannerstub implementation. - unsupported_
traffic - Generates an unsupported
TrafficProviderstub implementation.