Zum Inhalt

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
    }
}