private void resumeTrack(final String key, final boolean preventReloading) {
        if (null == tracks) {
            if (!preventReloading) {
                this.tracks = new Tracks(this.routeTrackUtils, this::setTrack);
            }
        } else {
            final IGeoItemSupplier gdp = tracks.getRoute(key);
            if (trackLayer != null && (gdp == null || gdp instanceof Route)) {
                trackLayer.updateRoute(key, gdp, tracks.getColor(key), tracks.getWidth(key));
            }
            if (null != geoObjectLayer && (gdp == null || gdp instanceof GeoItemHolder)) {
                if (gdp == null || gdp.isHidden()) {
                    geoObjectLayer.removeGeoObjectLayer(key);
                } else {
                    //settings... this will be implemented more beautiful in unified map
                    final float widthFactor = 2f;
                    final float defaultWidth = tracks.getWidth(key) / widthFactor;
                    final int defaultStrokeColor = tracks.getColor(key);
                    final int defaultFillColor = Color.argb(32, Color.red(defaultStrokeColor), Color.green(defaultStrokeColor), Color.blue(defaultStrokeColor));
                    final Func1<Float, Float> widthAdjuster = w -> MapLineUtils.getWidthFromRaw(w == null ? 1 : w.intValue(), false) * widthFactor;

                    final Layer l = GeoObjectLayer.createGeoObjectLayer(gdp.getItem(), geoObjectLayer.getDisplayModel(),
                            defaultWidth, defaultStrokeColor, defaultFillColor, widthAdjuster);
                    geoObjectLayer.addGeoObjectLayer(key, l);
                }
            }
        }
    }
Get the current map state from the map view if it exists or from the mapStateIntent field otherwise.

@return the current map state as an array of int, or null if no map state is available
main/src/main/java/cgeo/geocaching/maps/mapsforge/v6/NewMap.java