Use the Map

One of the core features of the HERE SDK for iOS is Mapping, which includes adding a map view, changing the location displayed by the map, and modifying its properties. The primary component of the mapping API is the map view, which is integrated as a UIView subclass. The map view represents a vector based view to display a map and various properties.

HERE map data is updated on a weekly basis to ensure you always get the freshest map data available. By integrating the map view you can automatically benefit from this. While the map is vector based, you can also integrate custom map tiles from other providers.

Note

If you want to create a simple map application, refer to the Get Started section.

To manipulate the map and its properties it's best to start looking at the Camera section. More features include:

  • Map gestures to handle common map gestures and default map behaviors like pan or rotate.
  • Map schemes to instantly switch default map styles such as satellite versus normal map layer.
  • Map items to place objects and shapes onto the map and interact with them.
  • Custom raster tiles to show custom server images as an additional map layer.
  • Custom map styles to fully customize the look of the existing map schemes.

Load Map Schemes

The HERE SDK supports several preconfigured map schemes.

Consult the Get Started section to see how to instantly switch default map styles such as satellite versus a normal day map layer.

Remove Unused Font Files

The HERE SDK contains fonts to render map labels in Chinese, Japanese and Korean. If you want to optimize the size of the overall app, you can remove selected fonts. For example, the font with Chinese, Japanese and Korean characters is around 1.7MB. To remove this font, open the heresdk.framework file and remove the following files:

  • style/fonts/DroidSansFallback.woff
  • style/fonts/DroidSansFallback.license

When you remove the font, it is recommended to switch the map language to any other language than Chinese, Japanese or Korean.

Set a Map Language

You can customize the language that is used on the map to show labels for streets, cities and other map data. By default, the local language of a region is used.

Use the fields mainLanguageCode and fallbackLanguageCode to specify the desired map language via a MapSceneConfig when loading a map scene. The fallbackLanguageCode is used when the desired language is not available in any region of the world. Set both fields to nil to switch back to the default behavior.

Availability of Map Data

By default, a few regions in the world including Japan, China and Korea, contain limited map data. To get access to the full map data, please get in contact with your HERE representative.

Adapt Map Caching

To better support online and offline use cases, the HERE SDK for iOS supports caching of downloaded vector map data. This happens in the background. While interacting with the map, the data is stored locally on the device and can be accessed even when the device loses connection or operates in an offline mode.

The integrated map caching mechanism only supports the standard vector based map schemes - satellite images, for example, are not cached.

Please note that the amount of cached data is limited and will be overwritten with new map data while using the map. In most cases, this is sufficient to give the user the impression of a faster start-up time - as no additional data must be downloaded when you start an app again at the same location as before.

Caching can be disabled when no cache path is set when manually initializing the HERE SDK using SDKOptions. Note that the cache path can be also set via your Info.plist file. You can change that with SDKInitializer.initialize(plistFileName:). Check the Engines section for more details.

You can also customize the amount of cached data via MapViewLite.

HERE Logo Watermark

When using the HERE SDK, it is required that the HERE logo is always visible on the map view. By default, the HERE logo is located at the bottom right corner of the map. However, you can easily customize its location to meet your app design by calling setWatermarkPosition() on your map view instance. It is recommended to change the default placement only when it is required due to overlapping UI elements. Note for very small views: If both edges of the map are less than 250 density independent pixels in size, the watermark will be hidden automatically.

results matching ""

    No results matching ""