Image for post
Image for post

… how to be geeky with Locus Map application

Basics

Let’s start with a hypothetical situation. You sit on the bike and now wants to enable certain recording profile, start map rotation, start GPS itself and so on. How to do it quickly without wasting a few minutes of changing old, not anymore used, settings?

There are solutions. One of the best is to use Presets. Anyway, if you want interesting kind of flexibility and feel little “geeky”, continue reading.

Action tasks

In 2018, we introduced a very interesting concept of controlling Locus Map over Broadcast intents, internally called Action tasks. Its possibilities are documented in our Locus API repository, but let’s try to use it practically for example for our task above.

Among the Locus Map application, you will also need a tool that is able to send configured intents to any other application. Tasker or MacroDroid are good examples. You may use this system also from your own Android application.

Related posts that may help with the practical part:

Main possibilities

Principle

The feature is based on the core Android system called Broadcast intent. With this method, one application is able to send predefined data (text, numbers, …) to the second application. Values are usually stored in the internal container as key/value pairs.

Locus Map is able to catch defined intent and execute actions that another application require.

Actions are defined as a JSON object. `Key` value is `tasks`. The `value` itself is defined as a JSON object.

Sample of how parameters of `intent`, together with JSON object may look like is below. Some more samples may be found on the API documentation page.

Example of Action

{ 
preset: {
action: "start",
name: "Bike"
},
track_record: {
action: "start",
name: "Biking"
}
}

And that’s all. Hope you find mentioned method useful and enjoy your trips!

Written by

Person responsible for own life … in all cases. And partially also for beings in my range. As everyone …

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store