====== Routing service ====== ===== Basic information ===== Since version 3.2.0, Locus Map offers possibility to implement own add-on that will supply complete routing for Locus Map navigation. The method is based on the [[http://developer.android.com/guide/components/services.html|Service]] and communication with Locus works thanks to [[http://developer.android.com/guide/components/aidl.html|AIDL interface]]. It sounds complicated but best is to check an existing Locus add-on for [[https://bitbucket.org/asamm/locus-addon-graphhopper|Offline navigation]]. ===== How to ===== To add your own routing service to Locus, you need to * Install Locus API in your IDE and add dependency to your new/existing project. More in [[manual:advanced:locus_api:installation|Locus API Installation]]. * Create //MyRoutingService extends [[https://bitbucket.org/asamm/locus-api-android/src/6b45a152967b4ffd4d294b186f8bd249fc91ff0a/src/locus/api/android/features/computeTrack/ComputeTrackService.java?at=default|ComputeTrackService]]//. * Register //MyRoutingService// in //AndroidManifest.xml// file * That's all. Locus Map will find your service thanks to defined //action// parameter and add it to the list of available routing engines. Right below the //MapQuest//, //Yours// and others. ==== Possibilities ==== RoutingService allows direct integration into Locus. Thanks to AIDL users won't be aware that they use independent add-on. **What is possible** * Basic information - name, attribution * Ability to call "Settings" activity directly from Locus Map * Ability to compute track between requested points and return full track back to Locus with all navigation orders and required information for full voice navigation.