HERE iOS SDK Developer's Guide

NMAVenue3dMapLayer

Class Summary

class NMAVenue3dMapLayer

Derived from: NSObject

NMAVenue3dMapLayer provides a map with indoor venue maps.

Include: NMAKit.framework/headers/NMAVenue3dMapLayer.h

Inheritance Diagrams

Figure 1. Public inheritance diagram for NMAVenue3dMapLayer

[For complete information, see the section Class Details]

Public Property Summary

Table 1. Public Properties
Public Properties

[readable, writable, assign] BOOL  animatesFloorChange

Controls whether venue floor changes are animated

[readable, writable, assign] BOOL  animatesVenueSelection

Controls whether venue selection is animated

[readable, writable, weak] id< NMAVenue3dMapLayerDelegate delegate

An event handler for the NMAVenue3dMapLayer

[readable, writable, assign] UIEdgeInsets  margins

The margin for current NMAVenue3dVenue view in screen points

[readable, assign] NMAPositionIndicator positionIndicator

[readable, writable, assign] BOOL  shouldCheckVenuesInViewport

The flag to indicates whether or not to check if the venue is visisble in current map view port

[readable, assign] NMAVenue3dController venueController

NMAVenue3dController object of the selected venue or nil if there is no selected venue

[readable, assign] NMAVenue3dRoutingController venueRoutingController

NMAVenue3dRoutingController object which can be used to calculate and show route in which at least one end is inside a venue

[readable, writable, weak] id< NMAVenue3dVenueZoomDelegate venueZoomDelegate

An event handler for the Venue Zoom events

[readable, writable, assign] BOOL  visible

Controls whether the venue map layer is visible

Instance Method Summary

Table 2. Instance Methods
Instance Method Summary

-(void) addListener:(id< NMAVenue3dMapLayerDelegate >) listener

Add a listener to the venue map layer

-(void) addVenueZoomListener:(id< NMAVenue3dVenueZoomDelegate >) listener

Add a listener for the Venue Zoom events

-(BOOL) cancelVenueSelection

Cancels ongoing venue selections

-( NMAVenue3dController *) controllerForVenue:( NMAVenue3dVenue *) venue

Returns the NMAVenue3dController of the given venue

-(void) deselectVenue

Deselect and close the current NMAVenue3dVenue

-(void) enableVenueZoom:(bool) enable

Enables or disables Venue Zoom

-(BOOL) isVenueVisible:(NSString *) venueId

Check if the venue layer has loaded and displayed a specific venue on the map

-(BOOL) isVenueZoomEnabled

Returns boolean value indicating whether Venue Zoom is enabled or not

-(void) removeListener:(id< NMAVenue3dMapLayerDelegate >) listener

Remove a listener from the venue map layer

-(void) removeVenueZoomListener:(id< NMAVenue3dVenueZoomDelegate >) listener

Remove a listener for the Venue Zoom events

-(void) selectVenue:( NMAVenue3dVenue *) venue

Select a NMAVenue3dVenue in a 3D view mode

-( NMAVenue3dVenueInfo *) selectVenueWithVenueId:(NSString *) venueId

Select a NMAVenue3dVenue

-( NMAVenue3dVenueInfo *) selectVenueWithVenueId:(NSString *) venueId spaceId:(NSString *) spaceId

Select a NMAVenue3dVenue

-(void) start

Start NMAVenue3dService asynchronously

Class Details

NMAVenue3dMapLayer provides a map with indoor venue maps.

When the NMAVenue3dMapLayer is started, venues such as shopping malls and airports can be seen on the map as interactive 3D models. Also spaces inside venues and access information like entrances can be seen.

After getting a NMAVenue3dMapLayer object, NMAVenue3dMapLayer::delegate need to be set in order to receive layer events, and the layer must be activated by calling NMAVenue3dMapLayer::start.

NMAVenue3dMapLayer is an add-on to the base map functionality with its own content loading and cache. For this reason in certain situations there may be a small delay before a venue can be seen on the map because if it is not already in the cache it needs to be downloaded separately.

Note:

This class can not be instantiated directly. NMAVenue3dMapLayer object can be fetched via NMAMapView::venue3dMapLayer

Public Property Details

[readable, writable, assign] BOOL animatesFloorChange

Controls whether venue floor changes are animated.

The default value is NO.

[readable, writable, assign] BOOL animatesVenueSelection

Controls whether venue selection is animated.

The default value is NO.

[readable, writable, weak] id< NMAVenue3dMapLayerDelegatedelegate

An event handler for the NMAVenue3dMapLayer.

An object may be installed as the NMAVenue3dMapLayer delegate in order to respond to certain NMAVenue3dMapLayer events, such as venue selection or floor changing. See the NMAVenue3dMapLayerDelegate protocol for the full list of events.

[readable, writable, assign] UIEdgeInsets margins

The margin for current NMAVenue3dVenue view in screen points. The default is (0, 0, 0, 0).

[readable, assign] NMAPositionIndicatorpositionIndicator

The position indicator for the NMAVenue3dMapLayer

[readable, writable, assign] BOOL shouldCheckVenuesInViewport

The flag to indicates whether or not to check if the venue is visisble in current map view port.

venueMapLayer:didShowVenue: or venueMapLayer:didHideVenue: will be called back to the delegate NMAVenue3dMapLayerDelegate if venue visiblity is changed in the current map view port.

Note:

By default, the value is NO

[readable, assign] NMAVenue3dControllervenueController

NMAVenue3dController object of the selected venue or nil if there is no selected venue.

[readable, assign] NMAVenue3dRoutingControllervenueRoutingController

NMAVenue3dRoutingController object which can be used to calculate and show route in which at least one end is inside a venue.

[readable, writable, weak] id< NMAVenue3dVenueZoomDelegatevenueZoomDelegate

An event handler for the Venue Zoom events.

This delegate gets notified when Venue Zoom is activated or deactivated.

[readable, writable, assign] BOOL visible

Controls whether the venue map layer is visible.

The default value is YES. Updating visible state is done in the background, so changes to this property may not be immediately reflected in its value.

Note:

Changes to this property will deselect selected venues. *

Instance Method Details

-(void) addListener:(id< NMAVenue3dMapLayerDelegate >) listener

Add a listener to the venue map layer. The listener must implement the NMAVenue3dMapLayerDelegate protocol. The listener monitors certain NMAVenue3dMapLayer events, such as venue selection or floor changing.

Parameters:

See also:

NMAVenue3dMapLayerDelegate

-(void) addVenueZoomListener:(id< NMAVenue3dVenueZoomDelegate >) listener

Add a listener for the Venue Zoom events.This delegate gets notified when Venue Zoom is activated or deactivated.

Parameters:

See also:

NMAVenue3dVenueZoomDelegate

-(BOOL) cancelVenueSelection

Cancels ongoing venue selections.

Returns:

YES if a venue selection was cancelled, NO if there was no selection ongoing.

-( NMAVenue3dController *) controllerForVenue:( NMAVenue3dVenue *) venue

Returns the NMAVenue3dController of the given venue.

Parameters:

Returns:

The NMAVenue3dController of the venue or nil if there is no such venue on the map.

-(void) deselectVenue

Deselect and close the current NMAVenue3dVenue.

-(void) enableVenueZoom:(bool) enable

Enables or disables Venue Zoom. Venue Zoom allows bigger zoom levels for opened venues. By default Venue Zoom is not used. In order to view a particular venue in Venue Zoom mode, use NMAVenue3dController::useVenueZoom:.

Parameters:

  • enable

    iftrue, Venue Zoom is enabled, otherwise not.

-(BOOL) isVenueVisible:(NSString *) venueId

Check if the venue layer has loaded and displayed a specific venue on the map.

Parameters:

  • venueId

    A venue identifier to be checked.

Returns:

YES if the venue is visible, NO if it is not.

See also:

NMAVenue3dVenue::uniqueId

-(BOOL) isVenueZoomEnabled

Returns boolean value indicating whether Venue Zoom is enabled or not.

Returns:

true if Venue Zoom is enabled, otherwise false.

-(void) removeListener:(id< NMAVenue3dMapLayerDelegate >) listener

Remove a listener from the venue map layer. The listener must implement the NMAVenue3dMapLayerDelegate protocol. The listener monitors certain NMAVenue3dMapLayer events, such as venue selection or floor changing.

Parameters:

See also:

NMAVenue3dMapLayerDelegate

-(void) removeVenueZoomListener:(id< NMAVenue3dVenueZoomDelegate >) listener

Remove a listener for the Venue Zoom events.This delegate gets notified when Venue Zoom is activated or deactivated.

Parameters:

See also:

NMAVenue3dVenueZoomDelegate

-(void) selectVenue:( NMAVenue3dVenue *) venue

Select a NMAVenue3dVenue in a 3D view mode.

In the 3D view mode layers and spaces of the venue are visible for the end user. This method opens a previous donwloaded venue. NMAVenue3dMapLayerDelegatedidSelectVenue:::venueMapLayer:didSelectVenue: is called when the venue has been opened.

Parameters:

-( NMAVenue3dVenueInfo *) selectVenueWithVenueId:(NSString *) venueId

Select a NMAVenue3dVenue.

Asynchronously opens the NMAVenue3dVenue identified by given venue id in a 3D view mode. In the 3D view mode layers and spaces of the venue are visible for the end user. This method is asynchronous, because it involves venue downloading if the venue is not already in the cache. NMAVenue3dServiceListenerdidGetVenue:::venueService:didGetVenue: callback method is called when the venue has been downloaded. NMAVenue3dMapLayerDelegatedidSelectVenue:::venueMapLayer:didSelectVenue: callback method is called when the venue has been opened.

Parameters:

  • venueId

    The identifier of the venue to be opened.

Returns:

The NMAVenue3dVenueInfo for the venue if a venue for the given identifier exists, otherwise nil.

-( NMAVenue3dVenueInfo *) selectVenueWithVenueId:(NSString *) venueId spaceId:(NSString *) spaceId

Select a NMAVenue3dVenue.

Asynchronously opens the NMAVenue3dVenue identified by given venue id and NMAVenue3dSpace identified by the given space id in a 3D view mode . In the 3D view mode layers and spaces of the venue are visible for the end user. This method is asynchronous, because it involves venue downloading if the venue is not already in the cache. NMAVenue3dServiceListenerdidGetVenue:::venueService:didGetVenue: callback method is called when the venue has been downloaded. NMAVenue3dMapLayerDelegatedidSelectVenue:::venueMapLayer:didSelectVenue: callback method is called when the venue has been opened.

Parameters:

  • venueId

    The identifier of the venue to be opened.

  • spaceId

    The identifier of the space to be opened. If nil, only the venue will be opened.

Returns:

The NMAVenue3dVenueInfo for the venue if a venue for the given identifier exists, otherwise nil.

-(void) start

Start NMAVenue3dService asynchronously.

Note:

The venue service must be started before the venue map layer can be used.

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.