> ## Documentation Index
> Fetch the complete documentation index at: https://docs.here.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add predefined map features

## Add map features

In addition to [map schemes](https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapScheme.html), the HERE SDK supports specialized layers called `MapFeatures`. These features allow you to overlay additional data on the map.

`MapFeatures` can be configured with different `MapFeatureModes` to control its visual appearance. For example, 3D landmarks can be displayed using textured or non-textured modes. Landmarks are enabled by default for most map schemes.

To see which `MapFeatures` and `MapFeatureModes` are enabled by default for each `MapScheme`, refer to [default features and modes per map scheme](https://docs.here.com/style-editor/docs/features-and-modes#default-features-and-modes-per-map-scheme) in the HERE Style Editor documentation.

> #### Note
>
> Note that not all `MapFeatures` are available for all licenses. Take a look at the API Reference to know which layers are supported for your licence.
>
> Adding `MapFeatures` may have a performance impact.

<HTMLBlock>
  {`
  <center><p>
  <table style="width:500">
    <tr>
      <th style="vertical-align:top">Feature</th>
      <th style="vertical-align:top">Description</th>
      <th style="vertical-align:top">In Explore</th>
      <th style="vertical-align:top">In Navigate</th>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#AMBIENT_OCCLUSION">AMBIENT_OCCLUSION</a></span></td>
      <td style="vertical-align:top">Ambient occlusion effect for 3D geometries (extruded buildings and landmarks).</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#BUILDING_FOOTPRINTS">BUILDING_FOOTPRINTS</a></span></td>
      <td style="vertical-align:top">The 2D footprint of buildings.</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#CONGESTION_ZONES">CONGESTION_ZONES</a></span></td>
      <td style="vertical-align:top">City areas designated as congestion zones (or congestion charge zones), which impose fees on entering such areas.</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#CONTOURS">CONTOURS</a></span></td>
      <td style="vertical-align:top">Show or hide contour lines on the map to represent elevation changes.</td>
      <td style="vertical-align:top">No</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#ENVIRONMENTAL_ZONES">ENVIRONMENTAL_ZONES</a></span></td>
      <td style="vertical-align:top">City areas designated as environmental zones, which empose limitations on the type of vehicles that are allowed to enter such areas.</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
   </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#EXTRUDED_BUILDINGS">EXTRUDED_BUILDINGS</a></span></td>
      <td style="vertical-align:top">Simple 3D representation of buildings.</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#LANDMARKS">LANDMARKS</a></span></td>
      <td style="vertical-align:top">3D landmarks.</td>
      <td style="vertical-align:top">No</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#LOW_SPEED_ZONES">LOW_SPEED_ZONES</a></span></td>
      <td style="vertical-align:top">City areas designated as low speed zones.</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#PUBLIC_TRANSIT">PUBLIC_TRANSIT</a></span></td>
      <td style="vertical-align:top">Toggles the display of public transit lines for systems like subway, tram, train, monorail, and ferry, based on the selected mode.</td>
      <td style="vertical-align:top">No</td>
      <td style="vertical-align:top">Yes</td>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#ROAD_EXIT_LABELS">ROAD_EXIT_LABELS</a></span></td>
      <td style="vertical-align:top">Show or hide road exit labels, if available.</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#SAFETY_CAMERAS">SAFETY_CAMERAS</a></span></td>
      <td style="vertical-align:top">Safety and speed cameras.</td>
      <td style="vertical-align:top">No</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#SHADOWS">SHADOWS</a></span></td>
      <td style="vertical-align:top">Shadows for all building types (extruded buildings and landmarks).</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#TERRAIN">TERRAIN</a></span></td>
      <td style="vertical-align:top">Show elevation topography.</td>
      <td style="vertical-align:top">No</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#TRAFFIC_FLOW">TRAFFIC_FLOW</a></span></td>
      <td style="vertical-align:top">Traffic flow speed.</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#TRAFFIC_INCIDENTS">TRAFFIC_INCIDENTS</a></span></td>
      <td style="vertical-align:top">Traffic incidents.</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#VEHICLE_RESTRICTIONS">VEHICLE_RESTRICTIONS</a></span></td>
      <td style="vertical-align:top">Vehicle restrictions.</td>
      <td style="vertical-align:top">No</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
    <tr>
      <td style="vertical-align:top"><span style='color: turquoise;'><a href="https://here-dni.github.io/HERESDKforAndroidAPIReferenceNavigate/com/here/sdk/mapview/MapFeatures.html#TRAFFIC_LIGHTS">TRAFFIC_LIGHTS</a></span></td>
      <td style="vertical-align:top">Traffic lights.</td>
      <td style="vertical-align:top">Yes</td>
      <td style="vertical-align:top">Yes</td>
    </tr>
  </table>
  </p></center>
  `}
</HTMLBlock>

Below you can see how the map feature layers can be enabled:

```java Java
Map<String, String> mapFeatures = new HashMap<>();
mapFeatures.put(MapFeatures.BUILDING_FOOTPRINTS, MapFeatureModes.BUILDING_FOOTPRINTS_ALL);
mapFeatures.put(MapFeatures.CONTOURS, MapFeatureModes.CONTOURS_ALL);  // Only available with the Navigate license.
mapFeatures.put(MapFeatures.CONGESTION_ZONES, MapFeatureModes.CONGESTION_ZONES_ALL);
mapFeatures.put(MapFeatures.ENVIRONMENTAL_ZONES, MapFeatureModes.ENVIRONMENTAL_ZONES_ALL);
mapFeatures.put(MapFeatures.EXTRUDED_BUILDINGS, MapFeatureModes.EXTRUDED_BUILDINGS_ALL);
mapFeatures.put(MapFeatures.LANDMARKS, MapFeatureModes.LANDMARKS_TEXTURED); // Only available with the Navigate license.
mapFeatures.put(MapFeatures.ROAD_EXIT_LABELS, MapFeatureModes.ROAD_EXIT_LABELS_ALL); // Only available with the Navigate license.
mapFeatures.put(MapFeatures.SAFETY_CAMERAS, MapFeatureModes.DEFAULT);
mapFeatures.put(MapFeatures.SHADOWS, MapFeatureModes.SHADOWS_ALL);
mapFeatures.put(MapFeatures.TERRAIN, MapFeatureModes.DEFAULT); // Only available with the Navigate license.
mapFeatures.put(MapFeatures.TRAFFIC_FLOW, MapFeatureModes.DEFAULT);
mapFeatures.put(MapFeatures.TRAFFIC_INCIDENTS, MapFeatureModes.DEFAULT);
mapFeatures.put(MapFeatures.LOW_SPEED_ZONES, MapFeatureModes.LOW_SPEED_ZONES_ALL);
mapFeatures.put(MapFeatures.VEHICLE_RESTRICTIONS, MapFeatureModes.DEFAULT); // Only available with the Navigate license.
mapFeatures.put(MapFeatures.AMBIENT_OCCLUSION, MapFeatureModes.AMBIENT_OCCLUSION_ALL);
mapFeatures.put(MapFeatures.PUBLIC_TRANSIT, MapFeatureModes.PUBLIC_TRANSIT_ALL); // Only available with the Navigate license.
mapView.getMapScene().enableFeatures(mapFeatures);
```

```kotlin Kotlin
val mapFeatures: MutableMap<String, String> = HashMap()
mapFeatures[MapFeatures.BUILDING_FOOTPRINTS] = MapFeatureModes.BUILDING_FOOTPRINTS_ALL
mapFeatures[MapFeatures.CONTOURS] = MapFeatureModes.CONTOURS_ALL
mapFeatures[MapFeatures.CONGESTION_ZONES] = MapFeatureModes.CONGESTION_ZONES_ALL
mapFeatures[MapFeatures.ENVIRONMENTAL_ZONES] = MapFeatureModes.ENVIRONMENTAL_ZONES_ALL
mapFeatures[MapFeatures.EXTRUDED_BUILDINGS] = MapFeatureModes.EXTRUDED_BUILDINGS_ALL
mapFeatures[MapFeatures.LANDMARKS] = MapFeatureModes.LANDMARKS_TEXTURED
mapFeatures[MapFeatures.ROAD_EXIT_LABELS] = MapFeatureModes.ROAD_EXIT_LABELS_ALL
mapFeatures[MapFeatures.SAFETY_CAMERAS] = MapFeatureModes.DEFAULT
mapFeatures[MapFeatures.SHADOWS] = MapFeatureModes.SHADOWS_ALL
mapFeatures[MapFeatures.TERRAIN] = MapFeatureModes.DEFAULT
mapFeatures[MapFeatures.TRAFFIC_FLOW] = MapFeatureModes.DEFAULT
mapFeatures[MapFeatures.TRAFFIC_INCIDENTS] = MapFeatureModes.DEFAULT
mapFeatures[MapFeatures.LOW_SPEED_ZONES] = MapFeatureModes.LOW_SPEED_ZONES_ALL
mapFeatures[MapFeatures.VEHICLE_RESTRICTIONS] = MapFeatureModes.DEFAULT
mapFeatures[MapFeatures.AMBIENT_OCCLUSION] = MapFeatureModes.AMBIENT_OCCLUSION_ALL
mapFeatures[MapFeatures.PUBLIC_TRANSIT] = MapFeatureModes.PUBLIC_TRANSIT_ALL
mapView!!.mapScene.enableFeatures(mapFeatures)
```

> #### Note
>
> When a new map scene is loaded (for example, when switching between different map schemes), all previously configured map features are reset to their default state. You must re-enable your desired map features after each scene load operation.

Setting a new layer state is performed synchronously, but it requires a valid map scene that must have been loaded before. Also, setting a new feature state while a new map scene is being loaded, may result in an exception.

Similarly, you can also disable a list of layers like shown below:

```java Java
List<String> mapFeatures = new ArrayList<>();
mapFeatures.add(MapFeatures.TRAFFIC_FLOW);
mapFeatures.add(MapFeatures.TRAFFIC_INCIDENTS);
mapFeatures.add(MapFeatures.EXTRUDED_BUILDINGS);
mapFeatures.add(MapFeatures.AMBIENT_OCCLUSION);
mapView.getMapScene().disableFeatures(mapFeatures);
```

```kotlin Kotlin
val mapFeatures: MutableList<String> = ArrayList()
mapFeatures.add(MapFeatures.TRAFFIC_FLOW)
mapFeatures.add(MapFeatures.TRAFFIC_INCIDENTS)
mapFeatures.add(MapFeatures.EXTRUDED_BUILDINGS)
mapFeatures.add(MapFeatures.AMBIENT_OCCLUSION)
mapView!!.mapScene.disableFeatures(mapFeatures)
```

> #### Note
>
> When `TRAFFIC_FLOW` and `TRAFFIC_INCIDENTS` features are enabled, then the HERE SDK will request new traffic information for each new vector tile - for example, by panning the viewport or zooming. This may lead to an increase of costs, depending on your plan. With `MapContentSettings` the traffic flow and incident refresh period can be adjusted, but this can be overwritten by viewport changes. During turn-by-turn navigation, this can happen multiple times per second and may result in a high number of [Traffic Vector Tile](android-traffic.md) requests. As an alternative, consider using [TrafficOnRoute](android-routing.md) to update only the traffic visualization along the route itself.

Each map feature supports one or more alternative rendering options. With the Navigate license for example, instead of using `TERRAIN_HILLSHADE`, which is the default mode for `TERRAIN`, you can use `TERRAIN_3D` to show advanced topographical shading for hills on a true 3D terrain map view.

Below you can see screenshots for all map layers supported by the HERE SDK - note that not all feature layers are available for all licenses:

![Screenshots (from left to right): MapFeatures.BUILDING\_FOOTPRINTS combined with MapFeatureModes.BUILDING\_FOOTPRINTS\_ALL shows 2D footprints of buildings. MapFeatures.EXTRUDED\_BUILDINGS combined with MapFeatureModes.EXTRUDED\_BUILDINGS\_ALL shows a 3D representation of buildings. MapFeatures.BUILDING\_FOOTPRINTS and MapFeatures.EXTRUDED\_BUILDINGS are enabled, by default. This is how it looks when they are disabled.](https://files.readme.io/9e9e5eafa3ba604b7de3e2636dfa3178b82ae266e328553d15d813f1e1a40103-android-Buildings_footprints_extruded_and_disabled.jpg)

![Screenshots (from left to right): MapFeatures.LANDMARKS combined with MapFeatureModes.LANDMARKS\_TEXTURED shows textured landmarks. When paired with MapFeatureModes.LANDMARKS\_TEXTURELESS shows textureless landmarks. When paired with MapFeatureModes.LANDMARKS\_GRAYSCALE shows landmark textures in grayscale.](https://files.readme.io/ca2d72ae38e6e5d2701f7ff8d0bbbc618db4ca49db04f60b95d74f10fcaa0a57-android-Building_landmarks.jpg)

![Screenshot: MapFeatures.CONTOURS with MapFeatureModes.CONTOURS\_ALL shows contour lines on the map to represent elevation changes (only available with the Navigate license).](https://files.readme.io/56631b6e3fae7184d8a07c773e405081f0f1fd06a294ddf6c4644db6f3e45d75-android-contours_lines.jpg)

![Screenshots (from left to right): MapFeatures.CONGESTION\_ZONES combined with MapFeatureModes.CONGESTION\_ZONES\_ALL shows city areas designated as congestion charge zones, marked as purple shade (Congestion charging zones are area where drivers are required to pay a fee to enter or travel within). MapFeatures.ENVIRONMENTAL\_ZONES combined with MapFeatureModes.ENVIRONMENTAL\_ZONES\_ALL shows city areas designated as environmental zones, marked as teal shade (Environmental zones are low emission zone, a designated area in a city or region where access for certain vehicles is restricted).](https://files.readme.io/98a45b7b5750b88dca68e6410fc8f8f45ae0aaa7576174b557b63bd8184d3fe4-android-Zones_congestion_environment.jpg)

![Screenshots (from left to right): MapFeatures.ROAD\_EXIT\_LABELS combined with the MapFeatureModes.ROAD\_EXIT\_LABELS\_NUMBERS\_ONLY shows the road exit labels in numbers. When paired with MapFeatureModes.ROAD\_EXIT\_LABELS\_ALL shows the road exit labels in text (only available with the Navigate license).](https://files.readme.io/9a0e29e0b36c56a752e059dbbc1984cf5197807c28f6e798677c1128e2e9070b-android-Road_exit_label.jpg)

![Screenshot: MapFeatures.SAFETY\_CAMERAS with MapFeatureModes.SAFETY\_CAMERAS\_ALL shows speed warning cameras.](https://files.readme.io/cfef056e684b400e1f3b0f3e294dfa7ef2c8ca758b25aeea6829949ffa5a0bf3-android-Safety_cameras.jpg)

![Screenshot: MapFeatures.SHADOWS with MapFeatureModes.SHADOWS\_ALL shows shadow for all building types (extruded buildings and landmarks).](https://files.readme.io/dd032717eb653322748bdf0f4cb075a8d8a2b707ef0601d5296056eb417f7402-android-Shadows.jpg)

![Screenshot: MapFeatures.TERRAIN with MapFeatureModes.TERRAIN\_HILLSHADE shows topographical shading for hills (only available with the Navigate license).](https://files.readme.io/9ade94dd44ab96ad22e9c2cd5e3bb2c5834ab5f9b98664818c44b4b28f14bae4-android-Terrain.jpg)

![Screenshot: MapFeatures.TERRAIN with MapFeatureModes.TERRAIN\_3D shows topographical shading for hills on a 3D terrain map (only available with the Navigate license).](https://files.readme.io/e77d03e81675857e044411e27b72f968e24d72e9552c1637fa57d963a517ab0e-android-terrain3d.jpg)

![Screenshots (from left to right): MapFeatures.TRAFFIC\_FLOW combined with MapFeatureModes.TRAFFIC\_FLOW\_WITH\_FREE\_FLOW shows active traffic jams on the streets by showing green lines when there is no traffic congestion. When paired with MapFeatureModes.TRAFFIC\_FLOW\_WITHOUT\_FREE\_FLOW, no green lines are shown when there is no traffic congestion. When paired with MapFeatureModes.TRAFFIC\_FLOW\_JAPAN\_WITHOUT\_FREE\_FLOW, no green lines are shown when there is no traffic congestion.](https://files.readme.io/2fcf429c1e85b7af47863deeee78f18cd9c01d4d92a5bca2c4d8e5227a96d6be-android-Traffic_flows.jpg)

![Screenshot: MapFeatures.TRAFFIC\_INCIDENTS with MapFeatureModes.TRAFFIC\_INCIDENTS\_ALL shows incidents such as accidents, construction works, and more.](https://files.readme.io/e9e3bb27272373cd05f41ebd752c19f75046672d7e55ab267092e543335bd723-android-Traffic_incident.jpg)

![Screenshots (from left to right): MapFeatures.VEHICLE\_RESTRICTIONS combined with MapFeatureModes.VEHICLE\_RESTRICTIONS\_ACTIVE shows truck-specific information with only showing active restrictions. When paired with MapFeatureModes.VEHICLE\_RESTRICTIONS\_ACTIVE\_AND\_INACTIVE shows truck-specific information with showing active and inactive time-based restrictions. When paired with MapFeatureModes.VEHICLE\_RESTRICTIONS\_ACTIVE\_AND\_INACTIVE\_DIFFERENTIATED shows truck-specific information with showing active and inactive time-based restrictions, but inactive time-based restrictions are shown as faded (only available with the Navigate license).](https://files.readme.io/3e7d3d89101e71549d01044240f55b93b881b02b314b20146673ef51b092268e-android-Vehicle_restriction.jpg)

![Screenshot (from left to right): On the left, ambient occlusion is disabled, while on the right, ambient occlusion is enabled using MapFeatures.AMBIENT\_OCCLUSION with MapFeatureModes.AMBIENT\_OCCLUSION\_ALL, showcasing the enhanced shadowing and depth effects.](https://files.readme.io/ed114e5a680f160fb5dee129f53eceb0c2a1d84c5e8846f12a4881cdb06a7762-android-Ambient_occlusion.jpg)

![Screenshot: MapFeatures.PUBLIC\_TRANSIT with MapFeatureModes.PUBLIC\_TRANSIT\_ALL (only available with the Navigate license).](https://files.readme.io/62c5a48ff7b42cd5e3bf51f9ade81b3dccdf8838f0262bddc134473b2d784f85-android-Public_Transit.png)

![Screenshot: MapFeatures.TRUCK\_PREFERRED\_ROADS with MapFeatureModes.TRUCK\_PREFERRED\_ROADS\_ALL (only available with the Navigate license).](https://files.readme.io/9f846386944d3a6af33799e76c136b6bbe95fbc52541622da5c898c44dd759fc-android-truck_preferred_roads.jpg)

![Screenshot: MapFeatures.TRAFFIC\_LIGHTS with MapFeatureModes.TRAFFIC\_LIGHTS\_ALL](https://files.readme.io/dc0a1653fb5506ff153d065fa86582dca81180892eb2275f3bb54681ee895759-android-traffic_lights.jpg)

Some layers allow to filter the shown content via `MapContentSettings`:

* `MapFeatures.TRAFFIC_INCIDENTS`: Use `filterTrafficIncidents​(List<TrafficIncidentType> trafficIncidents)` to filter the displayed traffic incidents.
* `MapFeatures.VEHICLE_RESTRICTIONS`: Use `configureVehicleRestrictionFilter​(TransportSpecification transportSpecs)` to filter the displayed truck restrictions.

The map layers `BUILDING_FOOTPRINTS` & `EXTRUDED_BUILDINGS` are enabled by default on the `MapView`.

Beta Release: we now also support `MapFeatureModes.TERRAIN_3D` with day, night, hybrid day and hybrid night map schemes (only available with the Navigate license).

![Screenshots (from left to right): MapScheme.DAY with MapFeatureModes.TERRAIN\_3D, MapScheme.NIGHT with MapFeatureModes.TERRAIN\_3D, MapScheme.HYBRID\_DAY with MapFeatureModes.TERRAIN\_3D, MapScheme.HYBRID\_NIGHT with MapFeatureModes.TERRAIN\_3D (only available with the Navigate license).](https://files.readme.io/78b58470e18a459c5a9f86617a5c4c3d69034febdcc9b8feac751eb55c26dd0b-android-terrain_day_night_hybrid.jpg)

## Extruded buildings coverage

When the `MapFeatures.EXTRUDED_BUILDINGS` feature is enabled, buildings will be rendered in 3D with an outline. The appearance of the buildings may vary by country. For example, in Japan, the outlines are combined sometimes with colored building walls.

By default, extruded buildings are supported for most countries.

Note that the enriched [Japan map](android-customization-catalogs.md#configure-a-japan-map) requires a separate contract with HERE.

![Screenshots (from left to right): Extruded buildings for a non-Japan region, extruded buildings for the Japan map.](https://files.readme.io/047d307ff9ad91e3c58b4a39085ccd95827a6f17cf044f8fe305eb2da474cea4-android-building_extruded_new.jpg)

## Try the MapFeatures example app

Most of the code snippets mentioned above are available in our "MapFeatures" example app, provided in both [Java](https://github.com/heremaps/here-sdk-examples/tree/master/examples/latest/navigate/android/Java/MapFeatures) and [Kotlin](https://github.com/heremaps/here-sdk-examples/tree/master/examples/latest/navigate/android/Kotlin/MapFeaturesKotlin). You can find this example app on [GitHub](https://github.com/heremaps/here-sdk-examples) for your preferred platform.