Mobile map, navigation and roadbook
Mapsforge based native android application with rich functionality.
The main challenge was the target audience of the non-technical tourists which must be enforced to the suggest navigation program instead of the others tool they used to use. Thus we had to outperform the market leaders both with functionality and UI.
The users must load by wifi the “project” prepared by travel company staff and containing the “routes” built from “placemarks” having one or more “coordinates” of the different types (POI, Way point, Linear coordinates, gas stations, Base camps, etc). On daily basis they got a code opening a route and proceed from placemark to placemark having distance and direction displayed on the screen. The placemarks automatically change their statuses “not visited” – “next point” – “visited” automatically in the predefined order but the user may interact with them manually if needed.
During the movement an user has ability to choose from many available maps: raster and vector, online and offline. It is possible to cache online maps for offline use both by a rectangle area or by along the route. In order to make the loading maps fast and not expensive we launched the caching proxy server and used Amazon S3 with the Cloudfront to store offline vector maps and routing graphs.
Finally the offline routing via graphhopper and navigation by the route has been added.
The interesting part of the implementation is the using of RxJava for the internal logic. This let us made the pretty complex, highly interactive user interface in the short amount of time, robust and easy to maintain.