Customizations
There are some customizations in the Localion Navigator for specific use cases. These will be described here.
Many of the customizations are activated or configured through the JSON file customization.json. This file needs to be placed at the following location: /sdcard/Android/data/de.logiball.navigator/files/User/Configs/customization.json or if you have installed through the Google PlayStore /sdcard/Android/data/de.logiball.businessnavigator/files/User/Configs/customization.json.
Defaults
It is possible to specify defaults for some settings in the customization.json. These will be used if no specific setting was chosen. The following shows how to specify the default map rotation as an example:
{
"default_settings": {
"rotation": "North"
}
}
It is possible to set defaults for the following settings:
Setting | Identifier in customization.json | Valid values | Available since version |
---|---|---|---|
Map rotation | rotation | "North", "Vehicle rotation", "3d", any names defined as custom rotations (see: Define additional map rotations) | 2.2.0 |
Current street visible | currentStreetVisible | true, false | 2.2.0 |
Wind Information
Since version 2.2.0 of the Localion Navigator it is possible to display wind information, which it receives from another app.
The customization.json needs to contain the following:
{
"behaviour": {
"displayWindInformation": true
}
}
Wind information intent
The current direction and speed need to be given to the navigator through the wind information intent. The following shows an example of how to build such an intent using the WindInformationIntentBuilder:
WindInformationIntentBuilder builder = new WindInformationIntentBuilder(new Intent());
builder.setSpeed(33);
builder.setSpeedUnit("m/s");
builder.setDirection(205);
builder.resetNavigatorVisibility(true);
Intent intent = builder.build();
startActivity(intent);
The following methods on the builder maybe used to customize the intent:
Method | Value | Default if unset | Example | Availability |
---|---|---|---|---|
setSpeed | The wind speed | 0 | 33 | Since Version 2.2.0 |
setSpeedUnit | The wind speeds unit that will be displayed | (empty string) | m/s | Since Version 2.2.1 |
setDirection | The direction the wind is coming from in degrees, where 0° is north, 90° is east and so on | 0 | 205 | Since Version 2.2.0 |
resetNavigatorVisibility | Flag that indicates if the navigator should be hidden after handling the wind information | false | true | Since Version 2.2.1 |
Wind information request
The Navigator may request new wind information. In order to handle such a request you may create a wind information broadcast receiver, which will handle the request. The following example shows how this receiver may be created:
WindInformationRequestBroadcastReceiver broadcastReceiver = new WindInformationRequestBroadcastReceiver() {
@Override
public void onBroadcastReceived(WindInformationRequestBroadcast windInformationRequestBroadcast) {
processIntent(windInformationRequestBroadcast);
}
};
if (new WindInformationRequestBroadcastReceiverStarter()
.setActivity(getActivity())
.setBroadcastReceiver(broadcastReceiver)
.startObserving()) {
Toast.makeText(getActivity(), "Registered wind broadcast receiver", Toast.LENGTH_SHORT).show();
}
WindInformationRequestBroadcast objects contain which information the navigator currently has about the wind and when that information was received:
Method | Value | Example | Availability |
---|---|---|---|
getLastKnownWindSpeed | The last known wind speed | 0 | Since Version 2.2.0 |
getLastKnownWindSpeedUnit | The last known wind speeds unit | m/s | Since Version 2.2.1 |
getLastKnownWindDirection | The last known wind direction in degrees, where 0° is north, 90° is east and so on | 90 | Since Version 2.2.0 |
getWindInformationUpdateDate | The date+time when the wind information was last updated | new Date() | Since Version 2.2.0 |
Automatic map following during cruising
Since version 2.2.0 of the Localion Navigator it is possible to prevent the map from automatically the current position when cruising. The customization.json needs to contain the following to activate this:
{
"behaviour": {
"followDuringCruising": false
}
}
Define additional map rotations
Since version 2.2.0 of the Localion Navigator it is possible to define additional map rotations for specific viewing angles of the map depending on what the user requires. The additional rotations can be defined in the customization.json. The following shows an example of how to do this:
{
"behaviour": {
"additionalMapRotations": {
"Test1": 33,
"Test2": 222
}
}
}
The key for the rotation, in the example Test1 and Test2, defines the name of the rotation which will be shown when it is possible to select the rotation. The value on the other hand determines the actual rotation and should be given in degrees. With 0 the map is rotated north, 90 is east and so on.
Hide the speedlimit
Since version 2.2.2 of the Localion Navigator it is possible to define whether the speedlimit should be shown on the map.
{
"limitations": {
"showSpeedLimit": false
}
}
Special rights
Since version 2.2.8 it is possible to allow the usage of emergency vehicles to perform emergency drives with special rights.
{
"limitations": {
"specialRightsRouting": true
}
}