@Override
    public void onResume() {
        super.onResume();

        // resume location access
        mapView.onResume();
        resumeDisposables.addAll(geoDirUpdate.start(GeoDirHandler.UPDATE_GEODIR), startTimer());

        final List<String> toRefresh;
        synchronized (dirtyCaches) {
            toRefresh = new ArrayList<>(dirtyCaches);
            dirtyCaches.clear();
        }

        if (!toRefresh.isEmpty()) {
            AndroidRxUtils.computationScheduler.scheduleDirect(() -> {
                for (final String geocode : toRefresh) {
                    final Geocache cache = DataStore.loadCache(geocode, LoadFlags.LOAD_WAYPOINTS);
                    if (cache != null) {
                        // new collection type needs to remove first
                        caches.remove(cache);
                        // re-add to update the freshness
                        caches.add(cache);
                    }
                }
                displayExecutor.execute(new DisplayRunnable(CGeoMap.this));
            });
        }
        MapUtils.updateFilterBar(activity, mapOptions.filterContext);
        final Tracks tracks = mapActivity.getTracks();
        if (tracks != null) {
            tracks.resumeAllTracks(this::resumeTrack);
        }
        if (Settings.removeFromRouteOnLog()) {
            reloadIndividualRoute();
        }
    }
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