private void reloadIndividualRouteFollowUp(final IndividualRoute route) {
        if (null != routeLayer) {
            routeLayer.updateIndividualRoute(route);
            updateRouteTrackButtonVisibility();
        } else {
            // try again in 0.25 seconds
            new Handler(Looper.getMainLooper()).postDelayed(() -> reloadIndividualRouteFollowUp(route), 250);
        }
    }
Repaint position overlay but only with a max frequency and if position or heading changes sufficiently.
main/src/main/java/cgeo/geocaching/maps/mapsforge/v6/NewMap.java