Skip to Content

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

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.