Routes & Navigation
Routes, matrices, optimization, map matching, predictive ETAs, and turn-by-turn navigation.
Plan and operate journeys for cars, bikes, trucks, pedestrians, and fleets. Choose between single-shot route calculations and a stateful navigation session that continuously responds to progress, traffic, deviations, incidents, and destination changes.
Capabilities
Available platforms
Keep business identifiers and server-side policy portable; use the native surface where device integration or long-lived state matters.
Restricted static key (current) or legacy OAuth, plus SDK entitlement
Current core REST routing uses the restricted static-key query contract; legacy OAuth requires its issued host/path generation. Route calls are stateless, while navigation requires an entitled, lifecycle-aware SDK session.
- Use separate projects for development, staging, and production.
- Apply the narrowest domain, IP, platform, product, and resource scopes available.
- Never ship a server secret in a browser bundle, mobile binary, prompt, or public repository.
Quickstart
Replace placeholders with credentials from the developer console. Examples include the lifecycle and failure-handling context that short snippets usually omit.
val route = MapplsDirections.builder()
.origin("MMI000")
.destination("MMI001")
.profile(DirectionsCriteria.PROFILE_DRIVING)
.resource(DirectionsCriteria.RESOURCE_ROUTE)
.steps(true)
.build()
route.enqueueCall(object : Callback<DirectionsResponse> {
override fun onResponse(call: Call<DirectionsResponse>, response: Response<DirectionsResponse>) {
val primaryRoute = response.body()?.routes()?.firstOrNull()
}
override fun onFailure(call: Call<DirectionsResponse>, error: Throwable) = Unit
})A complete navigation session
Treat navigation as a durable state machine, not a route polyline with voice prompts.
draftPlan
Resolve origin, stops, vehicle profile, constraints, and alternatives.
readyPreview
Present ETA, distance, tolls, incidents, and route trade-offs.
route.calculatednavigatingStart
Acquire location, initialize guidance, and begin progress tracking.
navigation.startednavigatingRespond
Refresh progress, reroute on deviation, and surface traffic events safely.
route.updatedcompletedArrive
Confirm arrival, stop sensors, persist trip summary, and release the session.
navigation.arrivedOperate the complete lifecycle
These blueprints name every state, actor, command, event, invariant, durable record, retry boundary, failure recovery, source contract, and operational signal.
Coordinated incident response
Resolve an incident location, select a capable available responder, route and observe the unit, adapt to hazards, establish arrival, resolve with evidence, and review every decision.
hybridRecoverable navigation session
Move from route intent through preview, guidance, reroute, arrival, and cleanup while surviving process, sensor, and network interruption.
hybridDurable multi-stop itinerary
Discover provider-backed places, preserve their Mappls Pins in a versioned itinerary, preview the exact ordered route, invalidate stale plans on edits, and retain visit or skip progress through completion.
hybridiOS direction planning and navigation handoff
Own route intent and revisions in the host app, present MapplsDirectionUI for editing and calculation, validate the selected route callback, and hand off to navigation without confusing a UI request with a started or completed trip.
Source repositories
Reference content is reconciled against these public and private source families. Version, authentication generation, and maturity are recorded before content is promoted.
mappls-rest-apisREST API · current →mappls-android-sdkSDK · current →mappls-ios-sdkSDK · current →mapmyindia-navigation-sdkFind source evidence →mappls-routenetFind source evidence →mappls-telecons-offline-sdkFind source evidence →