MapDesk Turn-by-Turn Navigation
Our turn-by-turn navigation solution is a comprehensive navigation system designed for real-time routing, precise guidance, and high-quality map visualization. It combines geocoding, routing, and detailed map styles into a unified experience optimized for mobile environments.
Currently, the navigator is available only for Android devices. A Kotlin Multiplatform (KMP) version is planned for the near future, specifically to support iOS with shared core logic.
Overview
The navigation system provides end-to-end routing capabilities, from address search to route calculation and real-time navigation. It is designed to be flexible, scalable, and suitable for both consumer-facing and business applications.
Core capabilities include:
- Address search and location discovery
- Accurate route calculation
- Turn-by-turn navigation guidance
- High-detail map visualization
- Traffic and road conditions
Core Components
1. Geocoding
The navigator includes a powerful geocoding service that enables:
- Forward geocoding (address → coordinates)
- Reverse geocoding (coordinates → address)
- Support for free-form and structured queries
- Search across addresses, cities, streets, and points of interest
Results are ranked by relevance and proximity, ensuring accurate and user-friendly search experiences.
2. Routing Engine
The routing component provides:
- Multi-point route calculation
- Support for driving, walking, and cycling
- Consideration of road restrictions and network topology
- Optimized routes based on distance and travel time
- OSRM-compatible format — integration compatibility for online routing services
3. Map Styles
The navigator uses high-quality vector map styles with the following characteristics:
- Two modes: Day and Night
- Focus on readability and high detail
- Based entirely on OpenStreetMap data
Technical Features
- Based on MapLibre GL Native
- No external services required
- Multiple label languages supported:
- default, de, ru, en, pt, it, fr
Navigation Features
Turn-by-Turn Guidance
- Step-by-step navigation instructions
- Lane-level guidance (where available)
- Real-time route progress tracking
- Distance and ETA updates
Route Visualization
- Clear and dynamic route rendering
- Highlighted maneuvers and turns
- Smooth transitions during navigation
Re-routing
- Automatic route recalculation when deviating
- Fast recovery and updated guidance
Platform & Architecture
Android Application
- Fully functional native Android application with native UI
- Optimized for performance and responsiveness, including:
- Smooth animations
- High-quality map rendering
- Real-time navigation
- Designed for integration into larger systems, like taxi apps, delivery platforms, etc.
Kotlin Multiplatform (KMP)
The project is built using Kotlin Multiplatform, which provides:
- Shared business logic across platforms
- Reduced development duplication
- Easier maintenance and scalability
Future iOS Support
Thanks to KMP architecture:
- Core navigation logic can be reused for iOS
- Enables faster development of an iOS version
- Ensures feature parity across platforms
Integration & Use Cases
The navigation solution can be used in:
- Navigation applications
- Logistics and delivery systems
- Fleet management platforms
- Location-based services
- Analytics and tracking tools
Summary
This turn-by-turn navigation system delivers a complete navigation stack, combining:
- Geocoding
- Routing
- Map visualization
With a focus on performance, accuracy, and scalability, it is a solid foundation for building modern navigation solutions, with cross-platform capabilities enabled by Kotlin Multiplatform.