Class LayerConfiguration

java.lang.Object
com.here.sdk.core.engine.LayerConfiguration

public final class LayerConfiguration extends Object

A class to configure which layers should be enabled or disabled in the OCM map data. Disabling a layer allows to reduce the amount of data that will be downloaded or prefetched from the internet, for example, when panning the map view online or when downloading maps for offline use.

LayerConfiguration changes made via SDKOptions require sdk.maploader.MapUpdater to align previously downloaded content. To ensure that the changes in SDKOptions affect the map data, it is recommended to trigger a map update. Without calling mapUpdater.updateCatalog(...), the adjustments will apply only to future map downloads and will not impact the currently installed map data, either in the cache or in the persisted storage. Note that calling updateCatalog(...) will update the version, only when a map update is available in the catalog.

Notes

  • The LayerConfiguration is only available for the Navigate licenses that contains the offline maps feature. It has no effect on other license.

Note that the RENDERING layer is a base layer that cannot be disabled: Therefore, it is not necessary to explicitly add the layer to a feature configuration - it will be always enabled.

  • The LayerConfiguration cannot be set separately for a region, it will be applied globally for all regions that will be downloaded in the future.
  • It is not possible to specify a separate LayerConfiguration for the map cache and offline maps. The LayerConfiguration will be always applied to both.
  • If a LayerConfiguration is applied, then only the listed features will be enabled, all others will be disabled. For example, if you want to disable only one feature, then all other features need to be present, or they will be also disabled.

The LayerConfiguration controls which content will be subject of

  • map download for features in enabledFeatures(),
  • explicit prefetching using sdk.prefetcher.RoutePrefetcher, sdk.prefetcher.PolygonPrefetcher and implicit prefetching, such as when displaying a map view, for features in implicitlyPrefetchedFeatures().
  • Field Details

    • enabledFeatures

      @NonNull public List<LayerConfiguration.Feature> enabledFeatures

      Specifies feature configuration for enabling list of features enabled for map download. Empty list disables map download, as no map content specified for download in this case.

    • implicitlyPrefetchedFeatures

      @NonNull public List<LayerConfiguration.Feature> implicitlyPrefetchedFeatures

      Specifies the list of features enabled for implicit and explicit map prefetch. Implicit map prefetch will download map content for implicit prefetch features when showing a map in the MapView.

      Allows to specify an empty list, effectively disabling implicit prefetching. In this case, the system will prioritize minimal network usage, at the cost of reduced offline map availability. When disabling certain implicitly prefetched features, less data will be prefetched when the map is rendered. Map data that was already cached will not be removed until the least recently used strategy (LRU) applies. That means you cannot remove any content from the map cache by updating the LayerConfiguration. However, for new map data, it will be applied.

      By default the list contains:

      Note: This is a beta release of this feature, so there could be a few bugs and unexpected behaviors. Related APIs may change for new releases without a deprecation process.

  • Constructor Details

    • LayerConfiguration

      public LayerConfiguration(@NonNull List<LayerConfiguration.Feature> enabledFeatures)

      Initializes both, enabled_features and implicitly_prefetched_features with value passed to constructor.

      Parameters:
      enabledFeatures -

      List of map features to downloader through MapDownloader, and implicitly prefetch when using MapView

    • LayerConfiguration

      public LayerConfiguration()

      Initializes enabled_features, implicitly_prefetched_features and on_demand_implicitly_prefetched_features with it's default values.

    • LayerConfiguration

      public LayerConfiguration(@NonNull List<LayerConfiguration.Feature> enabledFeatures, @NonNull List<LayerConfiguration.Feature> implicitlyPrefetchedFeatures)

      Creates a new instance.

      Parameters:
      enabledFeatures -

      Specifies feature configuration for enabling list of features enabled for map download. Empty list disables map download, as no map content specified for download in this case.

      implicitlyPrefetchedFeatures -

      Specifies the list of features enabled for implicit and explicit map prefetch. Implicit map prefetch will download map content for implicit prefetch features when showing a map in the MapView.

      Allows to specify an empty list, effectively disabling implicit prefetching. In this case, the system will prioritize minimal network usage, at the cost of reduced offline map availability. When disabling certain implicitly prefetched features, less data will be prefetched when the map is rendered. Map data that was already cached will not be removed until the least recently used strategy (LRU) applies. That means you cannot remove any content from the map cache by updating the LayerConfiguration. However, for new map data, it will be applied.

      By default the list contains:

      Note: This is a beta release of this feature, so there could be a few bugs and unexpected behaviors. Related APIs may change for new releases without a deprecation process.

  • Method Details