Release Notes

We are pleased to announce the availability of version 4.6.0.0 (Navigate Edition) of the new HERE SDK for iOS.

This is a stable release. We are constantly working on new features, stabilizing APIs, improving our KPIs, and evaluating your feedback.

Changes

This section documents major changes to this release that may require you to update your applications.

Version 4.6.0.0

Highlights

  • Added support for offline maps. Map data can now be preloaded for continents and countries worldwide. Note: This feature is released as beta feature. Added the MapDownloader class to download the list of available regions and to download the regions. Added related classes:
    • DownloadableRegionsCallback: Notifies when regions are downloaded.
    • MapDownloaderStatusListener: Notifies on the status of the download.
    • MapDownloaderTask: Task to cancel downloads.
    • MapLoaderError: Enumeration for specifying various errors.
    • Region: Represents an area that can be downloaded.
    • RegionId: Specifies an unique identifier for a Region.
  • Added OfflineRoutingEngine to calculate routes on cached or preloaded offline maps: It is now possible to calculate routes without connectivity. The engine adheres to the same protocol as its online counterpart.
  • Added isoline routing to calculate the reachable area for the given center coordinates and a range defined in time, distance or energy consumption. Added a new calculateIsoline() method to RoutingEngine. Added related classes:
    • IsolineOptions: Options for isoline calculation.
    • IsolineRangeType: Enumeration specifying whether the range type is defined in time, distance or energy consumption.
    • IsolineCalculationMode: Specifies how the isoline calculation can be optimized.
    • Isoline: Represents a single isoline.
    • MapMatchedCoordinates: Contains a pair of user-defined and map-matched coordinates.

More New Features

  • MapPolygon items can now be picked from MapView. PickMapItemsResult can now include a list of MapPolygon items.
  • Added ScooterOptions.allowHighway property.
  • Users of the exclusive Skytree Edition can load the Japan map scheme for a MapScene via loadScene("japan.day.json", loadSceneCallback). This special map scheme covers the entire world. No other map scheme should be loaded, otherwise the map falls back to the non-exclusive map schemes. By default, the Japan map feature is not available for the regular edition of this release.
  • Added method to look at a given GeoBox at the map view with lookAt(target: GeoBox, orientation: MapCamera.OrientationUpdate, viewRectangle: Rectangle2D) -> Void. For example, this can be used to show a route on a certain part of the map view.
  • Search: Added categories field to OpeningHours. It contains categories related to specific OpeningHours. For example, when a Place has multiple opening hours associated with it.
  • The SDKNativeEngine now locks access to the map data cache and persistent storage directories. When another instance of SDKNativeEngine is instantiated with the same access key id then now an exception is thrown.
  • Road shields are now rendered by default on the map view.
  • Navigator and VisualNavigator now allow to specify a TransportMode for tracking. By default, car mode is used.
  • Search: An unused TaskHandle returned for online and offline search engines can now be omitted instead of excluding it with _ = ....
  • Added SafetyCameraType to provide notifications about safety speed cameras both when on route and when in tracking mode. In tracking mode, the safety camera notifications will be given only for the portion of a road between the current position and the first junction. Added SafetyCameraWarning to provide information about the distance from the current position to the camera, the speed limit observed by the camera and the type of the safety camera. Added a dedicated delegate that can be set to Navigator or VisualNavigator.
  • Lane Assistance: Added new types to LaneType: Express lane, acceleration lane, deceleration lane, auxiliary lane, slow lane, passing lane, shoulder lane, regulated lane access, turn lane, center turn lane, truck parking lanes, parking lanes, variable driving lanes, bicycle lanes.

API Changes

  • Removed beta status for scooter transport mode.
  • Deprecated the updateGeometry() method for MapPolygon. Use the newly introduced set/get geometry accessors instead to get or set a GeoPolygon.
  • Deprecated the updateGeometry() method for MapPolyline. Use the newly introduced set/get geometry accessors instead to get or set a GeoPolyline.
  • Search: Deprecated the following Contact fields landlinePhoneNumbers, mobilePhoneNumbers, emailAddresses, websiteAddresses. Use these newly introduced fields instead: landlinePhones, mobilePhones, emails, websites. Each holds a list of newly created classes LandlinePhone, MobilePhone, EmailAddress, WebsiteAddress - containing a string representation of the item and a list of related PlaceCategory values.
  • Call the newly introduced static call MapView.deinitialize() in your AppDelegate class inside the applicationWillTerminate(_:) method to free resources of the HERE Rendering Engine. This will prevent potential crashes when closing an application.
  • The free flow traffic layer does no longer render the green traffic flow lines. In the future, an API to enable / disable the flow is planned to be introduced.
  • MapView: Added clamping to principal point when the coordinates are outside of the viewport.
  • Maneuver: Deprecated roadName, roadNameLanguageCode, roadNumber, nextRoadName, nextRoadNameLanguageCode, nextRoadNumber. Added instead RoadTexts with roadTexts and nextRoadTexts and LocalizedText and LocalizedTexts.
  • HERE Positioning now runs in it's own thread instead of separate process.

Resolved Issues

  • Fixed: A MapPolyline may be unexpectedly rendered over a MapMarker.

Known Issues

  • The VisualNavigator API is in an early development stage. More features and overall stabilization are planned for the next releases. Because of the pandemic situation full test coverage is currently blocked.
  • Updating an existing MapMarker with a completely new image causes the marker to disappear for a brief moment before being drawn with the new image.
  • The newly introduced zoom level behaves inconsistent across different devices as the shown level of detail depends on the physical screen size of a device.
  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • Transparency for MapPolylines is not supported.
  • During navigation, the number of sections within RouteProgress may not match the number of sections within the Route.
  • A category search along a route will crash when the GeoCorridor.polyline list parameter is empty.
  • MapViewPin instances disappear from MapView when changing device orientation. They reappear when moving the map.
  • MapViewPin instances cannot be removed after tilting and panning the map.
  • When traffic flows are enabled, map gestures may behave slower than expected.
  • A Maneuver.polyline list of GeoCoordinates has only one element for the last maneuver of a route.
  • MapMarker3D instances are only partly rendered when the camera is positioned too far from earth.
  • During navigation sometimes the next maneuver and voice instructions are triggered too early before roundabouts.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.
  • Starting LocationEngine on iOS devices fails when the device is in flight mode.
  • The jamFactor indicating TrafficSpeed is currently calculated linear without taking road types and other parameters into account.
  • Currently, a Lane that is reserved for bus or bicycle does not contain a direction type.
  • Offline maps: Region.sizeOnNetworkInBytes is 0 for any Region.
  • Offline maps: Once any download for a Region fails or is cancelled, all already downloaded regions will be deleted as well.
  • Offline routing: Pedestrian, truck, scooter, and EV routing are not expected to work.
  • Offline routing: Avoidance options are currently ignored.
  • Offline routing: The public maneuver list in the route's sections are empty. During navigation, the maneuvers are provided as usual.
  • Offline routing: Ferry links are not extracted to separate sections.
  • Navigation: Unlimited speed limits may not always be reported as expected.
  • Navigation: Safety camera notifications may come too often.
  • When SDKOptions is created before initialization of SDKNativeEngine it may contain a corrupted path.

Changes from Previous Releases

This section documents major changes from past releases. We encourage you to use the latest release, 4.6.0.0.

Version 4.5.4.0

Highlights

  • The supported device specifications have been fine tuned and contain now more granular details on the supported devices. Details can be found in the About section of the Developer's Guide for this edition.

New Features

  • Added support for a transform center: The MapCamera know allows to set and get a principal point as Point2D. This point determines where the target is placed within the map view. With this you can, for example, lower the map's default center during turn-by-turn navigation as it will affect map transformations such as rotations and tilt.
  • Extended walk routing options: Added PedestrianOptions.walkSpeedInMetersPerSecond property. Note that this feature is released as beta. By setting a walk speed you can calculate pedestrian routes specific for different walk profiles.
  • Searching for a CategoryQuery within a GeoCircle or GeoBox is no longer marked as a beta feature.
  • Added new map cache options to SDKOptions with SDKOptions.cacheSizeInBytes and SDKOptions.persistentMapStoragePath. Also available as key in plist (CacheSizeInBytes, PersistentMapStoragePath). With this you can control where to store cached map data and it also allows to specify the amount of data you want to reserve for caching.
  • Added new API methods to LocationEngine to control background positioning and battery saving options:
    • set/get backgroundLocationAllowed(boolean): Enables or disables an application's background location updates. By default, background location updates are enabled if a application has background location capabilities.
    • set/get backgroundLocationIndicatorVisible(boolean): Controls the visibility of a device's background location indicator. By default, the native background location indicator is visible, if an application has background location capabilities.
    • set/get pauseLocationUpdatesAutomatically(boolean): Controls automatic pausing of location updates, for example, for improving the device's battery life at times when location data is unlikely to change. By default, automatic pausing of location updates is allowed.

API Changes

  • Changed PedestrianOptions(routeOptions, textOptions) constructor to PedestrianOptions(routeOptions, textOptions, 1.0) to support the new PedestrianOptions.walkSpeedInMetersPerSecond property (see above).

Known Issues

  • The VisualNavigator API is in an early development stage. More features and overall stabilization are planned for the next releases. Because of the pandemic situation full test coverage is currently blocked.
  • Updating an existing MapMarker with a completely new image causes the marker to disappear for a brief moment before being drawn with the new image.
  • The newly introduced zoom level behaves inconsistent across different devices as the shown level of detail depends on the physical screen size of a device.
  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • Transparency for MapPolylines is not supported.
  • During navigation, the number of sections within RouteProgress may not match the number of sections within the Route.
  • A category search along a route will crash when the GeoCorridor.polyline list parameter is empty.
  • MapViewPin instances disappear from MapView when changing device orientation. They reappear when moving the map.
  • MapViewPin instances cannot be removed after tilting and panning the map.
  • When traffic flows are enabled, map gestures may behave slower than expected.
  • A Maneuver.polyline list of GeoCoordinates has only one element for the last maneuver of a route.
  • MapMarker3D instances are only partly rendered when the camera is positioned too far from earth.
  • During navigation sometimes the next maneuver and voice instructions are triggered too early before roundabouts.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.
  • Starting LocationEngine on iOS devices fails when the device is in flight mode.
  • The jamFactor indicating TrafficSpeed is currently calculated linear without taking road types and other parameters into account.
  • Currently, a Lane that is reserved for bus or bicycle does not contain a direction type. Nevertheless, such a lane is included in the list of lanes. However, the lane type is not exposed yet. Therefore, it is recommended to omit lanes that do not contain at least one direction.
  • A MapPolyline may be unexpectedly rendered over a MapMarker.

Version 4.5.3.0

New Features

  • Added a NoticeCode that describes issues after a Route was calculated. For example, when a route should avoid tunnels, but the only possible route needs to pass a tunnel, the Route contains a notice that the requested avoidance of tunnels was violated. Therefore, it is recommended to always check a calculated Route for possible violations. The NoticeCode is part of a Notice object. A list of possible Notice objects can be accessed per Section of a Route. The list will be empty, when no violation occurred.
  • Addeded the ability to change the anchor point of a MapMarker with Anchor2D. By default, the marker is centered on the provided location and the anchor is at (0.5, 0.5). An anchor represents a point in a rectangle as a ratio of the marker's image width and height.
  • Added search for a CategoryQuery within a GeoCircle or GeoBox. Extended the existing CategoryQuery constructors to accept GeoCircle or GeoBox. Note that this feature is currently in BETA state.

API Changes

  • The lane assistance API was marked as BETA until further notice and thus there can be bugs and unexpected behavior. The API may change for new releases without a deprecation process.
    • The lane list order was changed to always start with index 0 from the leftmost lane to the rightmost lane (last index). Currently, left-hand driving countries are not supported.

Known Issues

  • The VisualNavigator API is in an early development stage. More features and overall stabilization are planned for the next releases. Because of the pandemic situation full test coverage is currently blocked.
  • Updating an existing MapMarker with a completely new image causes the marker to disappear for a brief moment before being drawn with the new image.
  • The newly introduced zoom level behaves inconsistent across different devices as the shown level of detail depends on the physical screen size of a device.
  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • Transparency for MapPolylines is not supported.
  • During navigation, the number of sections within RouteProgress may not match the number of sections within the Route.
  • A category search along a route will crash when the GeoCorridor.polyline list parameter is empty.
  • MapViewPin instances disappear from MapView when changing device orientation. They reappear when moving the map.
  • MapViewPin instances cannot be removed after tilting and panning the map.
  • When traffic flows are enabled, map gestures may behave slower than expected.
  • A Maneuver.polyline list of GeoCoordinates has only one element for the last maneuver of a route.
  • MapMarker3D instances are only partly rendered when the camera is positioned too far from earth.
  • During navigation sometimes the next maneuver and voice instructions are triggered too early before roundabouts.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.
  • Starting LocationEngine on iOS devices fails when the device is in flight mode.
  • The jamFactor indicating TrafficSpeed is currently calculated linear without taking road types and other parameters into account.
  • Currently, a Lane that is reserved for bus or bicycle does not contain a direction type. Nevertheless, such a lane is included in the list of lanes. However, the lane type is not exposed yet. Therefore, it is recommended to omit lanes that do not contain at least one direction.
  • A MapPolyline may be unexpectedly rendered over a MapMarker.

Version 4.5.2.0

Highlights

  • Added suppport for scooter route calculation with the new ScooterOptions. Note that this is a BETA feature. Using scooter routes for navigation is not yet supported.
  • Introduced a new lane assistance API to notify drivers during navigation which lane is recommended to reach the next maneuvers. Use the new LaneAsssistanceDelegate to receive LaneAssistance events that are fired along with each voice announcement.

New Features

  • Added new read-only property to MapPolyline with geometry: GeoPolyline.
  • Added DashPattern class to set dashed line styles for a MapPolyline.
  • Added the property dashFillColor: UIColor? to MapPolyline to add support for fill colors when using dashed lines.
  • Added cumulative orbit method to MapCamera to rotate the map around arbitrary view coordinates using relative orientation values with orbitBy(_ delta: MapCamera.OrientationUpdate, around origin: Point2D).
  • Added new initialization options to MapImage extension with:
    • public convenience init(from uiImage: UIImage)
    • public convenience init(named name: String, width: Int32, height: Int32, in bundle Bundle? = nil)

API Changes

  • Cache path to store map data is now unique per access key ID (which is unique per customer). The HERE SDK automatically appends the current version of the cache and the access key ID. If you want to keep existing cache data, it may be required to copy it from <cache-root> to <cache-root>/v1/<access-key-id>, as the current version of the cache is "v1".
  • Deprecated SDKNativeEngine.setAccessKey(access_key_id, access_key_secret). Use SDKNativeEngine.setAccessKeySecret(access_key_secret) instead, in combination with setting the access key ID via SDKOptions when constructing a new SDKNativeEngine.
  • Deprecated LocationUpdateDelegate. Use the new LocationDelegate instead.
  • Removed deprecated GeoCircle constructor that accepts single precision float type for radius.

Resolved Issues

  • Fixed: Embedded POI markers are not visible for the hybrid night map scheme.
  • Fixed: Pan gestures may receive a cancel event before a begin event.
  • Fixed: During guidance tracking mode, roads with unlimited speed are now correctly reported.

Known Issues

  • The new VisualNavigator and the new lane assistance API are in an early development stage. More features and overall stabilization are planned for the next releases. Because of the pandemic situation full test coverage is currently blocked.
  • Updating an existing MapMarker with a completely new image causes the marker to disappear for a brief moment before being drawn with the new image.
  • The newly introduced zoom level behaves inconsistent across different devices as the shown level of detail depends on the physical screen size of a device.
  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • Transparency for MapPolylines is not supported.
  • During navigation, the number of sections within RouteProgress may not match the number of sections within the Route.
  • A category search along a route will crash when the GeoCorridor.polyline list parameter is empty.
  • MapViewPin instances disappear from MapView when changing device orientation. They reappear when moving the map.
  • MapViewPin instances cannot be removed after tilting and panning the map.
  • When traffic flows are enabled, map gestures may behave slower than expected.
  • A Maneuver.polyline list of GeoCoordinates has only one element for the last maneuver of a route.
  • MapMarker3D instances are only partly rendered when the camera is positioned too far from earth.
  • During navigation sometimes the next maneuver and voice instructions are triggered too early.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.
  • Starting LocationEngine on iOS devices fails when the device is in flight mode.
  • The jamFactor indicating TrafficSpeed is currently calculated linear without taking road types and other parameters into account.

Version 4.5.1.0

Highlights

  • Improved cold startup time on certain devices like Samsung.
  • A new VisualNavigator class has been introduced. It contains the same functionality as the Navigator class, but offers support for a visual guidance experience. With startRendering() a 3D location marker is added that smoothly follows the current location on the map. The animation is interpolated. In addition, the MapOrientation is updated. When a Route is set, the camera automatically follows the direction arrow. With the new CameraTrackingMode, this can be turned off, for example, to let the user freely pan the map. When tracking is turned off, the direction arrow moves on, but the map is not moved. Once CameraTrackingMode is enabled again, the camera follows again the current location. Note that the Navigator class can be replaced by the VisualNavigator class without any further code adaptation as Navigator shares the same method signatures with the new VisualNavigator.

New Features

  • Introduced Maneuver.lengthInMeters property to return the length of the maneuver.
  • Added a new MapCameralimits property with targetArea: GeoBox?. This allows to set a target area preventing a user from moving away too much from a desired area of interest.
  • Added a new MapCameralimits property for bearing with bearingRange: AngleRange.
  • Introduced SectionTransportMode enum and Section.getSectionTransportMode property returning an instance of this type indicating now transport modes such as ferries. Section.getTransportMode has been deprecated, use the newly introduced method instead.
  • Search: Introduced SupplierReference type and Details.references property, which holds the list of supplier references to a place.

Known Issues

  • The new VisualNavigator is in an early development stage. More rendering features and overall stabilization are planned for the next releases. Because of the pandemic situation full test coverage is currently blocked.
  • Updating an existing MapMarker with a completely new image causes the marker to disappear for a brief moment before being drawn with the new image.
  • The newly introduced zoom level behaves inconsistent across different devices as the shown level of detail depends on the physical screen size of a device.
  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • Transparency for MapPolylines is not supported.
  • During navigation, the number of sections within RouteProgress may not match the number of sections within the Route.
  • A category search along a route will crash when the GeoCorridor.polyline list parameter is empty.
  • MapViewPin instances disappear from MapView when changing device orientation. They reappear when moving the map.
  • MapViewPin instances cannot be removed after tilting and panning the map.
  • When traffic flows are enabled, map gestures may behave slower than expected.
  • A Maneuver.polyline list of GeoCoordinates has only one element for the last maneuver of a route.
  • MapMarker3D instances are only partly rendered when the camera is positioned too far from earth.
  • During navigation sometimes the next maneuver and voice instructions are triggered too early.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.
  • Starting LocationEngine on iOS devices fails when the device is in flight mode.
  • The jamFactor indicating TrafficSpeed is currently calculated linear without taking road types and other parameters into account.
  • Embedded POI markers are not visible for the hybrid night map scheme.
  • Pan gestures may receive a cancel event before a begin event.

Version 4.5.0.0

Highlights

  • Switched to a more performant underlying map format that provides less size, less traffic and smaller download times. This new format does not require any adaptation on app side.
  • Added a new OfflineSearchEngine that works without internet connectivity upon previously cached maps. It supports key word search, category search, geocoding and reverse geocoding. For example, when no internet connection is available, an app may try to fallback to the OfflineSearchEngine to provide instant results - although connectivity is be temporarily lost.
  • Added route calculation for electric vehicles (EV). It's now possible to calculate the energy consumption per route section according to the given consumption model (supported for electric cars and trucks). Charging stations are automatically added to the calculated route as waypoints to ensure that the electric vehicle doesn't run out of energy along the way (supported for electric cars).

New Features

  • Added LogAppender protocol to insert your own log class into the SDKNativeEngine. This way you can log HERE SDK messages for various predefined log levels even on release builds.
  • Added in Navigator a static method to query the list of available languages for maneuver notifications: List<LanguageCode> Navigator.availableLanguagesForManeuverNotifications().
  • Added a scale property to change the size of a MapMarker3D.
  • Added camera tilt limits with MapCameraLimits.setMaxTilt(degreesFromNadir: Double) and MapCameraLimits.setMinTilt(degreesFromNadir: Double).
  • Added camera zoom limits with MapCameraLimits.setMaxZoomLevel(_ zoomLevel: Double) and MapCameraLimits.setMinZoomLevel(_ zoomLevel: Double).
  • Added new methods to calculate routes for electric vehicles (car and trucks are supported): RoutingEngine.calculateRoute([Waypoint], EVCarOptions, CalculateRouteCallback), RoutingEngine.calculateRoute([Waypoint], EVTruckOptions, CalculateRouteCallback).
  • Added the following classes and fields to support EV routing (see above):
    • BatterySpecifications - parameters that describe the electric vehicle's battery.
    • ChargingConnectorAttributes - details of the connector that is suggested to be used for charging.
    • ChargingConnectorType - enumeration of the available charging connector types.
    • ChargingStation - charging station data.
    • ChargingSupplyType - enumeration of available charging supply types.
    • EVCarOptions - options to specify how a route for an electric car should be calculated.
    • EVConsumptionModel - parameters specific for the electric vehicle, which are used to calculate energy consumption on a given route.
    • EVDetails - additional information that is available for electric vehicles.
    • EVTruckOptions - options to specify how a route for an electric truck should be calculated.
    • PostActionType - enumeration of available post action types.
    • PostAction - an action that must be done after arrival.
    • RoutePlaceType - shows whether the place on the route (such as departure or arrival) is a charging station or a regular place.
    • Arrival.type - the type of the arrival place.
    • Arrival.chargeInKilowattHours - battery charge at arrival.
    • Arrival.chargingStation - charging station data at arrival.
    • Departure.type - the type of the departure place.
    • Departure.chargeInKilowattHours - battery charge at departure.
    • Departure.chargingStation - charging station data at departure.
    • Section.postActions - actions that must be done after the arrival.
    • Section.evDetails - additional section information that is available for electric vehicles.

API Changes

  • The minimum supported iOS version was increased from 12.0 to 12.4.
  • For custom map styles HERE Style Editor 0.26 is required.
  • Changed splash screen to be grey instead of black. This improves the experiences on devices where cold start takes longer.
  • Deprecated the LocationProvider protocol and the Navigator constructors that accept a LocationProvider as parameter. A Navigator can now be construced from an empty constructor.
  • A Navigator now conforms to the LocationDelegate protocol.
  • Deprecated onLocationTimeout() of LocationDelegate - it is no longer needed and the necessary timeout handling is now done internally inside the Navigator implementation.
  • Removed a deprecated GeoCoordinates constructor, use the previously introduced counterpart instead.
  • Changed type of MapMarker.drawOrder from UInt32 to Int32.
  • Removed a deprecated Anchor2D constructor, use the previously introduced counterpart instead.
  • Deprecated in Navigator the method List<LanguageCode> supportedLanguages(), use List<LanguageCode> Navigator.availableLanguagesForManeuverNotifications() instead.

Resolved Issues

  • Fixed: After orientation changes coordinate conversions may return incorrect values.
  • Fixed: During navigation sometimes the nextRoadName or nextRoadNumber are not available when the name of the street/road is a route number. In such a case, the next Maneuver indicates an 'unknown road'.
  • Fixed: When imperial unit system is selected along with 'EN US' language code, then RouteTextOptions returns 'ft' as unit, but voice guidance uses 'yards'.
  • Fixed: For some regions the speed limit value can be unexpectedly null on highways. Roads with no speed limit are now correctly indiciated during navigation.
  • Fixed: During navigation, tunnel extrapolation may not work as expected.
  • Fixed: A category search along a route will crash when the GeoCorridor.polyline list parameter is empty.
  • Fixed wrongly positioned Viewpins after an orientation change.
  • Fixed issues for map matching with no or unstable heading information. During navigation, map matching now works even when no heading information is provided or when the speed is very low.

Known Issues

  • Updating an existing MapMarker with a completely new image causes the marker to disappear for a brief moment before being drawn with the new image.
  • The newly introduced zoom level behaves inconsistent across different devices as the shown level of detail depends on the physical screen size of a device.
  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • Transparency for MapPolylines is not supported.
  • During navigation, the number of sections within RouteProgress may not match the number of sections within the Route.
  • A category search along a route will crash when the GeoCorridor.polyline list parameter is empty.
  • MapViewPin instances disappear from MapView when changing device orientation. They reappear when moving the map.
  • MapViewPin instances cannot be removed after tilting and panning the map.
  • When traffic flows are enabled, map gestures may behave slower than expected.
  • A Maneuver.polyline list of GeoCoordinates has only one element for the last maneuver of a route.
  • MapMarker3D instances are only partly rendered when the camera is positioned too far from earth.
  • During navigation sometimes the next maneuver and voice instructions are triggered too early.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.
  • Starting LocationEngine on iOS devices fails when the device is in flight mode.
  • The jamFactor indicating TrafficSpeed is currently calculated linear without taking road types and other parameters into account.

Version 4.4.6.0

Highlights

  • This release focuses on overall stability and performance improvements.

Resolved Issues

  • Fixed: During navigation it can happen in rare cases that the distance to the next maneuver is slightly wrong.
  • Fixed: Random route recalculations occur during drive navigation, especially on crossroads.

Known Issues

  • The newly introduced zoom level behaves inconsistent across different devices as the shown level of detail depends on the physical screen size of a device.
  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • Transparency for MapPolylines is not supported.
  • After orientation changes coordinate conversions may return incorrect values.
  • During navigation sometimes the nextRoadName or nextRoadNumber are not available when the name of the street/road is a route number. In such a case, the next Maneuver indicates an 'unknown road'.
  • When imperial unit system is selected along with 'EN US' language code, then RouteTextOptions returns 'ft' as unit, but voice guidance uses 'yards'.
  • For some regions the speed limit value can be unexpectedly null on highways.
  • During navigation, the number of sections within RouteProgress may not match the number of sections within the Route.
    • During navigation, tunnel extrapolation may not work as expected.
  • A category search along a route will crash when the GeoCorridor.polyline list parameter is empty.
  • MapViewPin instances disappear from MapView when changing device orientation. They reappear when moving the map.
  • MapViewPin instances cannot be removed after tilting and panning the map.
  • When traffic flows are enabled, map gestures may behave slower than expected.
  • A Maneuver.polyline list of GeoCoordinates has only one element for the last maneuver of a route.
  • MapMarker3D instances are only partly rendered when the camera is positioned too far from earth.
  • During navigation sometimes the next maneuver and voice instructions are triggered too early.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.

Version 4.4.5.0

New Features

  • Added the property var image: MapImage { get set } to the MapMarker class. This allows to change a MapImage for a MapMarker that is already shown on the map to update its appearance.
  • Added zoomTo(_ zoomLevel) -> Void to the MapCamera class to set the zoom level in the range [0,22]. Access the current zoomLevel from the camera's State property.
  • Added GeoBox.containing(geoCoordinates: [GeoCoordinates]) -> GeoBox? to construct a GeoBox from a list of Geocoordinates.
  • A CategoryQuery can now be created from a single PlaceCategory with the additional constructor CategoryQuery(_ category: PlaceCategory, filter: String, areaCenter: GeoCoordinates).

Resolved Issues

  • Fixed: For routes with more than two waypoints the destination reached event may be called too early.
  • Fixed: In rare cases map tiles may flicker when a device is offline and the cache is used.
  • Fixed: During navigation, voice commands are sometimes missing or inaccurate.
  • Fixed issues with map-matched locations during turn-by-turn navigation when driving with slow speed.

Known Issues

  • The newly introduced zoom level behaves inconsistent across different devices as the shown level of detail depends on the physical screen size of a device.
  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • Transparency for MapPolylines is not supported.
  • Random route recalculations may occur during drive navigation, especially on crossroads.
  • After orientation changes coordinate conversions may return incorrect values.
  • During navigation sometimes the nextRoadName or nextRoadNumber are not available when the name of the street/road is a route number. In such a case, the next Maneuver indicates an 'unknown road'.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.
  • When imperial unit system is selected along with 'EN US' language code, then RouteTextOptions returns 'ft' as unit, but voice guidance uses 'yards'.
  • During navigation it can happen in rare cases that the distance to the next maneuver is slightly wrong.
  • For some regions the speed limit value can be unexpectedly null on highways.
  • During navigation, the number of sections within RouteProgress may not match the number of sections within the Route.
    • During navigation, tunnel extrapolation may not work as expected.
  • A category search along a route will crash when the GeoCorridor.polyline list parameter is empty.
  • MapViewPin instances disappear from MapView when changing device orientation. They reappear when moving the map.
  • MapViewPin instances cannot be removed after tilting and panning the map.

Version 4.4.4.0

Highlights

  • Added automatic geometry simplification to MapPolyline: Now, the rendered polyline shape is optimized based on the current distance of the camera to earth. While not being visible for the eye, this improves the performance, for example, when rendering longer routes.

API Changes

  • here.sdk.Color derives now from UIColor to support the deprecation of the class.

Deprecated

  • A few methods, fields and constructors of class here.sdk.Color have been deprecated. Instead, use iOS's native UIColor class which uses a color component of type CGFloat with the interval [0,1] - instead of type UInt8 and [0,255] that was used for the deprecated components.

Resolved Issues

  • Fixed several memory corruption crashes.
  • Fixed an issue with flickering street labels after credentials have been changed.
  • Fixed an issue with wrong left and right voice commands during navigation.
  • Fixed issue with empty IDs for reverse geocoding results: IDs of place results are no longer empty strings and contain now a valid ID.
  • Route calculation: When no truck route is found due to incompatible truck restrictions, the reason is now logged and RoutingError.noRouteFound error is returned. For example, a log may contain: "Potential route would violate truck restriction:{"maxHeight":400}".

Known Issues

  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • Transparency for MapPolylines is not supported.
  • Random route recalculations may occur during drive navigation, especially on crossroads.
  • After orientation changes coordinate conversions may return incorrect values.
  • During navigation sometimes the nextRoadName or nextRoadNumber are not available when the name of the street/road is a route number. In such a case, the next Maneuver indicates an 'unknown road'.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.
  • For routes with more than two waypoints the destination reached event may be called too early.
  • When imperial unit system is selected along with 'EN US' language code, then RouteTextOptions returns 'ft' as unit, but voice guidance uses 'yards'.
  • During navigation it can happen in rare cases that the distance to the next maneuver is slightly wrong.
  • In rare cases map tiles may flicker when a device is offline and the cache is used.
  • For some regions the speed limit value can be unexpectedly null on highways.
  • During navigation, voice commands are sometimes missing or inaccurate.
  • During navigation, the number of sections within RouteProgress may not match the number of sections within the Route.

Version 4.4.3.0

Highlights

  • Kinetic map panning behavior was greatly improved. Now, when swiping the map moves slower which results in a more natural feel.
  • Certain areas can now be excluded from route calculation with AvoidanceOptions that contain an avoidAreas list holding GeoBox items which routes should not cross.

New Features

  • Added optional Suggestion.href to get a direct link to discover more details. It is available when the suggestion result type is category or chain.
  • Added RoadFeatures.difficultTurns enum value. Note that it is valid only for truck transport mode.
  • Added MapError.invalidState enum value which can be raised when a map scene is in an invalid state after a MapView was destroyed.
  • Added a new GeoCorridor constructor with radiusInMeters as integer type - as replacement for the deprecated constructor with radiusInMeters as double type, see below.

Deprecated

  • Deprecated GeoCorridor constructor with radiusInMeters as double type. Use the newly introduced GeoCorridor constructor with radiusInMeters as integer type instead, see above.

Resolved Issues

  • Fixed: During navigation sometimes a Manuever does not contain all expected fields.
  • Fixed: When the pick radius for pickMapItems() is set to 1000 or higher, an app may crash when picking map polylines.
  • Fixed: SearchEngine: Place.getId() is empty for reverse geocoding results.

Known Issues

  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • Transparency for MapPolylines is not supported.
  • Random route recalculations may occur during drive navigation, especially on crossroads.
  • After orientation changes coordinate conversions may return incorrect values.
  • During navigation sometimes the nextRoadName or nextRoadNumber are not available when the name of the street/road is a route number. In such a case, the next Maneuver indicates an 'unknown road'.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.
  • For routes with more than two waypoints the destination reached event may be called too early.
  • When imperial unit system is selected along with 'EN US' language code, then RouteTextOptions returns 'ft' as unit, but voice guidance uses 'yards'.
  • During navigation it can happen in rare cases that the distance to the next maneuver is slightly wrong.
  • In rare cases map tiles may flicker when a device is offline.

Version 4.4.2.0

Highlights

  • Integrated HERE Positioning. The new LocationEngine implements a comprehensive location solution that works with several location sources such as GPS or other Global Navigation Satellite System (GNSS) receivers, mobile network signals and Wi-Fi network signals to determine accurate locations. Along with it, we provide a new ConsentEngine to optionally enable data collection to improve HERE services.

New Features

  • Added a new NavigatorProtocol which describes the main turn-by-turn functionality of a Navigator.
  • Added Place.geoCoordinates to get the GeoCoordinates of a Place. Note that only Place instances retrieved from a Suggestion result may not contain geographic coordinates, hence the returned value is optional.
  • Added departure/arrival information to the Section of a Route:
    • Added Departure class with the following fields:
      • waypointIndex
      • originalCoordinates
      • mapMatchedCoordinates
    • Added Arrival class with the following fields:
      • waypointIndex
      • originalCoordinates
      • mapMatchedCoordinates
    • Added Section.departure property.
    • Added Section.arrival property.
  • Added Suggestion.type to get the new SuggestionType enum that indicates whether this Suggestion is a place, a chain like a store, restaurant or bussiness chain - or a category.

Deprecated

  • Deprecated Place.coordinates, use Place.geoCoordinates instead. Note that only Place instances retrieved from a Suggestion result may not contain geographic coordinates, hence the returned value has become optional.

Resolved Issues

  • Fixed: When the Route used to search along the route is too long, now a proper error is returned with SearchError.ROUTE_TOO_LONG.
  • Fixed: For places that are obtained from the Suggestion class, the geographic coordinates always contain a latitude and a longitude equal to 0. An additional places request is needed to obtain the coordinates.

Known Issues

  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • SearchEngine: Place.getId() is empty for reverse geocoding results.
  • Transparency for MapPolylines is not supported.
  • Random route recalculations may occur during drive navigation, especially on crossroads.
  • After orientation changes coordinate conversions may return incorrect values.
  • When the pick radius for pickMapItems() is set to 1000 or higher, an app may crash when picking map polylines.
  • During navigation sometimes the nextRoadName or nextRoadNumber are not available when the name of the street/road is a route number. In such a case, the next Maneuver indicates an 'unknown road'.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.
  • For routes with more than two waypoints the destination reached event may be called too early.
  • When imperial unit system is selected along with 'EN US' language code, then RouteTextOptions returns 'ft' as unit, but voice guidance uses 'yards'.
  • During navigation sometimes a Manuever does not contain all expected fields.
  • During navigation it can happen in rare cases that the distance to the next maneuver is slightly wrong.

Version 4.4.1.0

New Features

  • Traffic flows can now be identified along a Route. Introduced TrafficSpeeds class to provide traffic speed information over a Section polyline. The Section.trafficSpeeds property returns an array of TrafficSpeeds's which covers the Section polyline.
  • Added SearchError.queryTooLong and SearchError.filterTooLong. These errors will appear if the search query or search filter is too long (over 300 characters).
  • Added Route.transportMode which returns the original TransportMode as requested for the route calculation.

Resolved Issues

  • Fixed: Voice instructions are sometimes not properly synchronised with the current map-matched location.
  • Fixed: During turn-by-turn navigation, a NavigableLocation may not contain map-matched geographic coordinates for some regions due to data issues.

Known Issues

  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • SearchEngine: Place.getId() is empty for reverse geocoding results.
  • Transparency for MapPolylines is not supported.
  • Random route recalculations may occur during drive navigation, especially on crossroads.
  • After orientation changes coordinate conversions may return incorrect values.
  • When the pick radius for pickMapItems() is set to 1000 or higher, an app may crash when picking map polylines.
  • For places that are obtained from the Suggestion class, the geographic coordinates always contain a latitude and a longitude equal to 0. An additional places request is needed to obtain the coordinates.
  • During navigation sometimes the nextRoadName or nextRoadNumber are not available when the name of the street/road is a route number. In such a case, the next Maneuver indicates an 'unknown road'.
  • Map tiles may not load automatically when losing internet connectivity and connectivity gets back, unless the user interacts with the map.

Version 4.4.0.2

Highlights

  • New map schemes have been introduced to support satellite images together with vector-based street labels: hybridDay and hybridNight.
  • Support for interactive private venues has been introduced. This feature is available for building owners upon request.

New Features

  • Added to the MapCamera class the method: MapCamera.setTargetOrientation(orientation: MapCamera.OrientationUpdate) to set only the target orientation in relation to the camera.
  • By default, polylines are rendered in the order as they have been added to the map. This can now be changed at runtime by setting the draw order. It's now also possible to change the width and outline width at runtime. For this, the following methods have been added to the MapPolyline class:
    • var drawOrder: Int32 to set and get the drawOrder for MapPolylines.
    • var width: Double to set and get the LineWidth for a MapPolyline.
    • var outlineWidth: Double to set and get the OutlineWidth for a MapPolyline.
  • Search for places along a route: Added the GeoCorridor option to filter TextQuery results when performing an asynchronous search request along a route with the method TextQuery(query, in: corridorArea, near: areaCenter).
  • Search for places by category along a route: Added the CategoryQuery structure that accepts the GeoCorridor option in its constructors with the filter parameter CategoryQuery(_ : [PlaceCategory], filter: String, in: GeoCorridor) and without the filter parameter CategoryQuery(_ : [PlaceCategory], in: GeoCorridor) to enable category search along a route. This feature is in BETA state.
  • Added to the Details class the method: getPrimaryCategories() -> [PlaceCategory] to get a place category from the result of a search query.

API Changes

  • Reduced the rotation sensitivity of the Pinch Rotate gesture. Now, it is easier to zoom in on the map without rotating it.

Resolved Issues

  • Fixed: Rendering order for MapMarker3D is not yet supported, so the marker may appear below building footprints. Now, the rendering order for MapMarker3D is supported and the marker no longer appears below building footprints.
  • Fixed several rendering issues related to map items.

Known Issues

  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • SearchEngine: Place.getId() is empty for reverse geocoding results.
  • Transparency for MapPolylines is not supported.
  • Random route recalculations may occur during drive navigation, especially on crossroads.
  • Voice instructions are sometimes not properly synchronised with the current map-matched location.
  • After orientation changes coordinate conversions may return incorrect values.
  • 3d marker is not aligned with the road when using the map matched position.
  • During turn-by-turn navigation, a NavigableLocation may not contain map-matched geographic coordinates for some regions due to data issues.
  • When the pick radius for pickMapItems() is set to 1000 or higher, an app may crash when picking map polylines.
  • For places that are obtained from the Suggestion class, the geographic coordinates always contain a latitude and a longitude equal to 0. An additional places request is needed to obtain the coordinates.

Version 4.3.4.0

Highlights

  • To enhance TBT Navigation, we added a MilestoneReachedDelegate that informs whenever a stopover has been passed. See the related feature description with more details below.
  • During TBT navigation a new SpeedWarningDelegate informs whenever the user is exceeding the current speed limits on the road. See the related feature description with more details below.

New Features

  • Added the line cap style property to MapPolyline with the enum LineCap to change polyline ends rendered on the map.
  • Added the property lineCap: LineCap to get and set the LineCap of a MapPolyline.
  • Added the Milestone class with the following fields:
    • sectionIndex: Int32 for the index of the section on the route that has been completed.
    • waypointIndex: Int32? which corresponds to the waypoint in the original user-defined waypoint list.
    • originalCoordinates: GeoCoordinates? for user-defined geographic coordinates.
    • mapMatchedCoordinates: GeoCoordinates for map-matched geographic coordinates.
  • Added the MilestoneReachedDelegate protocol to receive notifications about the arrival at each Milestone, and the method: void onMilestoneReached(_ milestone: Milestone) called when a milestone has been reached.
  • Added the DestinationReachedDelegate protocol to receive notifications about the arrival at the destination, and the method: void onDestinationReached() called when the destination has been reached.
  • Added the following methods to the Navigator class:
    • milestoneReachedDelegate: MilestoneReachedDelegate? for the delegate that notifies when a Milestone has been reached.
    • destinationReachedDelegate: DestinationReachedDelegate? for the delegate that notifies when a destination has been reached.
  • Added the SpeedWarningDelegate protocol to receive notifications from the Navigator about the speed limit being exceeded with the following method:
    • onSpeedWarningStatusChanged(_ status: SpeedWarningStatus) called whenever the status of the speed warning status has changed to any of the SpeedWarningStatus values.
  • Added the SpeedWarningStatus enumeration that represents the speed warning status.
  • Added the SpeedLimitOffset struct that indicates the offset to be used above a specific speed to be notified of the speed limit being exceeded, with the following fields:
    • lowSpeedOffsetInMetersPerSecond: Double for the speed limit offset for low speeds.
    • highSpeedOffsetInMetersPerSecond: Double for the speed limit offset for high speeds.
    • highSpeedBoundaryInMetersPerSecond: Double for the high speed boundary.
  • Added the SpeedWarningOptions struct that contains all options to be used for speed limit warnings, with the following field:
    • speedLimitOffset: SpeedLimitOffset for the speed limit offset to be used when notifying that the speed limit has been exceeded.
  • Added the following properties to the Navigator class:
    • speedWarningListener: SpeedWarningDelegate? for the delegate to be notified of the speed limit being exceeded or back to normal.
    • speedWarningOptions: SpeedWarningOptions for the speed warning options.

Resolved Issues

  • Fixed: Startup performance for navigation is very slow on certain devices. Now, startup performance for navigation has been improved for all devices.

Known Issues

  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • SearchEngine: Place.getId() is empty for reverse geocoding results.
  • Transparency for MapPolylines is not supported.
  • Rendering order for MapMarker3D is not yet supported, so the marker may appear below building footprints.
  • Random route recalculations may occur during drive navigation, especially on crossroads.
  • Voice instructions are sometimes not properly synchronised with the current map-matched location.
  • After orientation changes coordinate conversions may return incorrect values.

Version 4.3.3.0

New Features

  • Added the method search(placeIdQuery query: PlaceIdQuery, languageCode: LanguageCode?, completion: PlaceIdSearchCompletionHandler) -> TaskHandle to perform an asynchronous request to search for a place based on its ID and language code.
  • Added the possibility to filter AddressQuery results by the CountryCode with the method AddressQuery(query: String, near: GeoCoordinates, inCountries: [CountryCode]).
  • Added the possibility to filter TextQuery results by the CountryCode with the method TextQuery(query: String, near: GeoCoordinates, inCountries: [CountryCode]).
  • Added the methods MapPolyline.getlineColor() and MapPolyline.setlineColor() to get and set the LineColor of a MapPolyline.
  • Added the methods MapPolyline.getOutlineColor() and MapPolyline.setOutlineColor() to get and set the OutlineColor of a MapPolyline.

Deprecated

  • Deprecated the method search(placeIdQuery query: PlaceIdQuery, completion: PlaceIdSearchCompletionHandler) -> TaskHandle. Use the newly introduced search(placeIdQuery query: PlaceIdQuery, languageCode: LanguageCode?, completion: PlaceIdSearchCompletionHandler) -> TaskHandle method instead.

Resolved Issues

  • Fixed: App crashes when access to memory storage is denied. Now, access to the memory storage is granted by setting the path to the map cache.
  • Fixed: Heading is ignored during turn-by-turn navigation. Now, Waypoint heading is considered during turn-by-turn navigation.
  • Fixed: Creating a very long route crashes the app. Now, route is created and navigation starts irrespective of how long the route is.

Known Issues

  • Map caching may not work as expected for satellite map scheme. Existing tiles may be reloaded.
  • SearchEngine: Place.getId() is empty for reverse geocoding results.
  • Transparency for MapPolylines is not supported.
  • Rendering order for MapMarker3D is not yet supported, so the marker may appear below building footprints.
  • Startup performance for navigation is very slow on certain devices.
  • Random route recalculations may occur during drive navigation, especially on crossroads.
  • Voice instructions are sometimes not properly synchronised with the current map-matched location.

Version 4.3.2.0

New Features

  • Added the ManeuverProgress class which is accessible from RouteProgress.maneuverProgress to indicate progress details to the next and next-next maneuvers during navigation.
  • Added the GPXDocument class to create a GPX document and to load a GPX file.
  • Added the GPXTrack class to represent a single track from a GPXDocument.
  • Added the constructor LocationSimulator(gpxTrack: options:) to specify the GPX track to travel and the options to specify how the location simulator will behave.
  • Added the readonly property MapCamera.boundingBox: GeoBox? to get the currently visible map area encompassed in a GeoBox.
  • Added the nested class MapView.ViewPin to display an iOS UIView at a fixed location on the MapView with the following methods and read-only properties:
    • pinView(_ view: UIView, at: GeoCoordinates) -> ViewPin? to pin a UIView on the MapView.
    • unpinView(_ view: UIView) to remove a UIView pinned to the MapView.
    • viewPins: [MapView.ViewPin] to get the UIView instances pinned on the MapView.
  • Added the method MapCamera.setDistanceToTarget(distanceInMeters: Double) -> Void to set the distance from the MapCamera to the target location on earth.
  • Added the ability to change the primary language of the map with the property MapView.primaryLanguage: LanguageCode?.
  • Added updated support for the SDKOptions.cachePath handling. If SDKOptions.cachePath is not set, it will be assigned a default path [<Application Home>/Library/Caches].

Deprecated

  • Deprecated the property RouteProgress.currentManeuverIndex. Use the RouteProgress.maneuverProgress property instead.
  • Deprecated the property RouteProgress.currentManeuverRemainingDistanceInMeters. Use the RouteProgress.maneuverProgress property instead.

Resolved Issues

  • Fixed: Calling navigator.supportedLanguages() before a route is set will no longer result in an empty list.
  • Fixed: The Authentication protocol was not always called on the main thread. Now the protocol is guaranteed to be always called on the main thread.

Known Issues

  • SearchEngine: Place.Id is empty for reverse geocoding results.
  • Transparency for MapPolylines is not supported.
  • Rendering order for MapMarker3D is not yet supported, so the marker may appear below building footprints.
  • Creating a very long route crashes the app.
  • Heading is currently ignored during turn-by-turn navigation.

Version 4.3.1.0

New Features

  • Added the MapMarker.drawOrder property to change the draw order of MapMarkers on the map.
  • Added the support for 3D MapMarkers with the classes MapMarker3D and MapMarker3DModel to represent and define a 3D shape rendered on the map.
    • Added the methods MapScene.addMapMarker3d(_ marker: MapMarker3D) -> Void and MapScene.removeMapMarker3d(_ marker: MapMarker3D) -> Void to add and remove a 3D MapMarker.
  • Added the Rectangle2D constructor that accepts type double for the origin and size parameters to represent a 2D rectangle.
  • Added the Size2D constructor that accepts type double for the height and width parameters to represent the size of a 2D structure.
  • Added the MapPolyline.metadata property for the Metadata forMapPolylines.
  • Added MapMatchedLocation class with public fields:
    • GeoCoordinates coordinates for the geographic coordinates of the map-matched location.
    • Double bearingInDegrees for the map-matched device's horizontal direction of travel.
  • Added the supported language functionality with the method Navigator.supportedLanguages().
  • Added the Navigator.maneuverNotificationOptions property for maneuver notification options.

API Changes

  • Renamed CurrentLocation.rawLocation to originalLocation.
  • Changed CurrentLocation.mapMatchedLocation type from Location to MapMatchedLocation.
  • Renamed CurrentLocation to NavigableLocation.
  • Renamed CurrentLocationDelegate to NavigableLocationDelegate.
  • Renamed Navigator.currentLocationDelegate to Navigation.navigableLocationDelegate.
  • Changed RouteDeviation.lastLocationOnRoute type from Location to NavigableLocation.

Resolved Issues

  • Fixed: AvoidanceOptions will be ignored when calculating truck routes. Now, AvoidanceOptions are considered when calculating truck routes.

Known Issues

  • SearchEngine: Place.Id is empty for reverse geocoding results.
  • Transparency for MapPolylines is not supported.
  • Rendering order for MapMarker3D is not yet supported, so the marker may appear below building footprints.
  • Calling navigator.supportedLanguages() before a route is set will result in an empty list.

Version 4.3.0.0

Highlights

  • This is the initial release.

Known Issues

  • SearchEngine: Place.Id is empty for reverse geocoding results.
  • AvoidanceOptions will be ignored when calculating truck routes.
  • Transparency for MapPolylines is not supported.

results matching ""

    No results matching ""