All About Maps

Let’s talk about maps. I started an open-source project called All About Maps (https://github.com/ulusoyca/AllAboutMaps). In this project, I aim to demonstrate how we can implement the same map related use cases with different map providers in one codebase. We will use Mapbox Maps, Google Maps, and Huawei HMS Map Kit. This project uses the following libraries and patterns:

  • MVVM pattern with Android Jetpack Libraries
  • Kotlin Coroutines for asynchronous operations
  • Dagger2 Dependency Injection
  • Android Clean Architecture

Note: The codebase changes by time. You can always find the latest code in develop branch. The code when this article is written can be seen by choosing the tag: episode_1-parse-gpx:

https://github.com/ulusoyca/AllAboutMaps/tree/episode_1-parse-gpx/

Motivation

Why do we need maps in our apps? What are the features a developer would expect from a map SDK? Let’s try to list some:

  • Showing a coordinate on a map with camera options (zoom, tilt, latitude, longitude, bearing)
  • Adding symbols, photos, polylines, polygons to map
  • Handle user gestures (click, pinch, move events)
  • Showing maps with different map styles (Outdoor, Hybrid, Satallite, Winter, Dark etc.)
  • Data visualization (heatmaps, charts, clusters, time-lapse effect)
  • Offline map visualization (providing map tiles without network connectivity)
  • Generate snapshot image of a bounded region

#java #integration #kotlin #opensource

All About Maps Showing Routes From GPX Files on Maps
1.50 GEEK