HERE iOS SDK Developer's Guide

Private Venues

This feature allows you to use a different source of venue data in addition to or instead of the default HERE backend. The private content backend must be configured by HERE, which is an operation transparent to a developer using the HERE iOS SDK. Access to private venue data is at the discretion of its legal owner and by definition it is not public.

Note: For more information about configuring a private venue data backend, contact your HERE representative.

If a private backend has been configured, call the setPrivateContent: method on the NMAVenue3dService class at application initialization to indicate that you want your application to use it.

The code below demonstrates a call to this method. Note that the code does not show the entire initialization sequence necessary before you can start using HERE venue maps.

// Earlier initialization steps ...
// Assumption: NMAVenue3dMapLayer has been initialized

NMAVenue3dService service3d = [NMAVenue3dService sharedVenueService];
service3d.setPrivateContent:YES;
// Remember to start or restart Venue Service after setting private content

// Further implementation code here
...

Dynamic Content

By default, the HERE SDK uses public HERE 3D venue content. It is possible to use customer-specific content instead by using the privateContent property on NMAVenue3dService, as shown in the examples below. It is also possible use both private and public content together, and define which one has priority. If this kind of combined content is needed, use the combinedContent property.

// Obtain Venue Service
NMAVenue3dService *venueService = [NMAVenue3dService sharedVenueService];

// Use only HERE SDK content (this is the default behavior)
[venueService setPrivateContent:false];
[venueService setCombinedContent:false];

// Use only private content
[venueService setPrivateContent:true];
[venueService setCombinedContent:false];

// Prefer HERE SDK content and use private as an alternative
[venueService setPrivateContent:false];
[venueService setCombinedContent:true];

// Prefer private content and use HERE SDK as an alternative
[venueService setPrivateContent:true];
[venueService setCombinedContent:true];

Multiple NMAVenue3dService objects can run at the same time. For example, if some part of an application requires access to only private content, and another part requires HERE SDK content, two NMAVenue3dService objects can be instantiated and configured differently. Activities in one service do not have an impact on another service. For example, notifications related to loading (venueService:didGetVenue:withVenueInfo:withStatus:) are sent only to the client that initiated the loading. To obtain an additional NMAVenue3dService object, use the initAdditionalVenueService method.

// get the main instance
NMAVenue3dService *mainInstance = [NMAVenue3dService sharedVenueService];
// get an additional instance
NMAVenue3dService *additionalInstance = [mainInstance initAdditionalVenueService];

For more information, please see the API Reference.

Note: NMAVenue3dService is also invoked when NMAVenue3dMapLayer is used. As such, some venue features can be used in a common manner between these classes.

You cannot use this account to purchase a commercial plan on Developer Portal, as it is already associated to plans with different payment methods.

To purchase a commercial plan on Developer Portal, please register for or sign in with a different HERE Account.

Something took longer than expected.

The project should be available soon under your projects page.

Sorry, our services are not available in this region.

Something seems to have gone wrong. Please try again later.

We've detected that your account is set to Australian Dollars (AUD).
Unfortunately, we do not offer checkouts in AUD anymore.
You can continue using your current plan as normal, but to subscribe to one of our new plans,
please register for a new HERE account or contact us for billing questions on selfservesupport@here.com.