private void routingModeChanged(final RoutingMode newValue) {
        Settings.setRoutingMode(newValue);
        final Tracks tracks = mapActivity.getTracks();
        if ((null != individualRoute && individualRoute.getNumSegments() > 0) || null != tracks) {
            ViewUtils.showShortToast(activity, R.string.brouter_recalculating);
        }
        reloadIndividualRoute();
        if (null != tracks) {
            try {
                AndroidRxUtils.andThenOnUi(Schedulers.computation(), () -> tracks.traverse((key, route, color, width) -> {
                    if (route instanceof Route) {
                        ((Route) route).calculateNavigationRoute();
                    }
                    ((GooglePositionAndHistory) overlayPositionAndScale).updateRoute(key, route, color, width);
                }), () -> mapView.repaintRequired(overlayPositionAndScale instanceof GeneralOverlay ? ((GeneralOverlay) overlayPositionAndScale) : null));
            } catch (RejectedExecutionException e) {
                Log.e("CGeoMap.routingModeChanged: RejectedExecutionException: " + e.getMessage());
            }
        }
        mapView.repaintRequired(overlayPositionAndScale instanceof GeneralOverlay ? ((GeneralOverlay) overlayPositionAndScale) : null);
    }
Set the zoom of the map. The zoom is restricted to a certain minimum in case of live map.
main/src/main/java/cgeo/geocaching/maps/CGeoMap.java