Releases: heremaps/msdkui-ios
HERE Mobile SDK UI Kit Version 2.0.0
Highlights - What's new in version 2.0?
- In comparison to version 1.0, we polished the experience of the demo application. You can find now a proper landing screen where you can choose between routing and navigation experience. In addition, we provide new in-app components like the dashboard or the basic map picker screen which you can extract to your own projects, if desired.
- The route planner components were updated to improve usage-related limitations.
- Improved support for customization: You can now use the advantages of the
UIAppearance
API. These changes should give you more flexibility to customize all or specific instances of the required UI components. - The new HERE Mobile SDK UI Kit (MSDKUI) requires the version 3.9 of the HERE Mobile SDK. With this version, we support scooter routing and you will find this reflected in the component updates. Note, that this SDK version may require a map update.
- Entirely new for MSDKUI 2.0 is the updated guidance experience with new navigation specific UI components. The new UI components are:
GuidanceEstimatedArrivalView
- A view to show navigation related information like arrival time, distance and duration.GuidanceManeuverView
- A panel presenting detailed information about the upcoming maneuver.GuidanceNextManeuverView
- A view to inform about the next maneuver after the upcoming one.GuidanceSpeedLimitView
- A simple view to display the speed limit.GuidanceSpeedView
- A simple view which is meant to display the current speed.GuidanceStreetLabel
- A view to display the current street label in a prominent way.
Known Issues
- Some string ids are not yet translated and will be provided with upcoming releases.
Functional and Behavioral Changes
-
increased the minimum supported HERE Mobile SDK for iOS version from 3.8 to 3.9
-
removed
UIColor.init(hex: Int, alpha: CGFloat = default)
-
removed
UIView.useAutoLayout()
-
removed
UIView.addSubviewBindToEdges(_ view: UIView)
-
removed
CustomStringConvertible
protocol conformance ofGuidanceManeuverData
-
removed deprecated class
WaypointItem
-
removed
onModeChanged
property fromTransportModePanel
. Its delegate property should be used instead -
removed
onTimeChanged
property fromTravelTimePanel
. Its delegate property should be used instead -
removed
onTimePicked
property fromTravelTimePicker
. Its delegate property should be used instead -
removed
onChanged
property fromOptionItem
. Its delegate property should be used instead -
removed
onOptionChanged
andonOptionCreated
property fromOptionsPanel
. It's delegate property should be used instead -
removed
timeType
,timeTypeProxy
properties andenum TimeType
declaration fromTravelTimePanel
-
removed
timeType
,timeTypeProxy
,variety
,varietyProxy
properties andenum Variety
declaration fromTravelTimePicker
-
removed from
Styles
class properties related toWaypointList
,WaypointListCell
,TitleItem
,TransportModePanel
,TravelTimePanel
,TravelTimePicker
,RouteDescriptionList
,RouteDescriptionItem
,ManeuverDescriptionList
,ManeuverDescriptionItem
,InputBox
andGuidanceManeuverPanel
-
changed validator parameter order from last to first in parameter list of
NumericOptionItemInputHelper.init
-
changed data property of
GuidanceManeuverView
from implicitly unwrapped optional to an optional -
changed type of
WaypointList.itemFlashDuration
fromCGFloat
toTimeInterval
-
changed parameters from
setManeuver(maneuvers: [NMAManeuver], position: Int)
tosetManeuver(maneuvers: [NMAManeuver], index: Int, measurementFormatter: MeasurementFormatter = .currentMediumUnitFormatter)
inManeuverItemView
-
changed
ManeuverTableViewDelegate
protocol functions from:maneuverSelected(_ list: ManeuverDescriptionList, index: Int, maneuver: NMAManeuver)
to:
maneuverTableView(_ tableView: ManeuverTableView, didSelect maneuver: NMAManeuver, at index: Int)
maneuverTableView(_ tableView: ManeuverTableView, willDisplay view: ManeuverItemView)
-
changed
static var name
to alet constant
inRouteTypeOptionsPanel
,RoutingOptionsPanel
,TrafficOptionsPanel
,TruckOptionsPanel
,TunnelOptionsPanel
andRouteDescriptionList
-
changed
public var waypoint: NMAWaypoint
setter to beprivate
inWaypointEntry
-
changed
public var title: String?
andpublic var inputHelper: NumericOptionItemInputHelper?
setters to beprivate
inOptionItemSpec
. Factory methods should be used to set these properties -
renamed
iconView
property toiconImageView
inManeuverItemView
-
renamed
listDelegate
property tomaneuverTableViewDelegate
inManeuverTableView
-
renamed
SingleChoiceOptionItem
's delegate property topickerDelegate
-
renamed delegate property of
RouteTypeOptionsPanel
,RouteTypeOptionsPanel
,TrafficOptionsPanel
,TruckOptionsPanel
andTunnelOptionsPanel
topickerDelegate
. Additionally, made it an optional instead of a implicitly unwrapped optional and addedweak
reference specifier -
renamed
GuidanceManeuverPanel
toGuidanceManeuverView
-
renamed
GuidanceManeuverPanelPresenter
toGuidanceManeuverMonitor
and their delegate protocol's name and functions -
renamed
ManeuverDescriptionItem
toManeuverItemView
-
renamed
ManeuverDescriptionList
toManeuverTableView
and their delegate protocol -
renamed
RouteDescriptionListDelegate
protocol function fromrouteSelected(_ list: RouteDescriptionList, index: Int, route: NMARoute)
torouteDescriptionList(_ list: RouteDescriptionList, didSelect route: NMARoute, at index: Int)
-
renamed
WaypointListDelegate
protocol functions from:entryAdded(_ list: WaypointList, index: Int, entry: WaypointEntry)
entrySelected(_ list: WaypointList, index: Int, entry: WaypointEntry)
entryRemoved(_ list: WaypointList, index: Int, entry: WaypointEntry)
entryDragged(_ list: WaypointList, from: Int, to: Int)
entryUpdated(_ list: WaypointList, index: Int, entry: WaypointEntry)
respectively to:
waypointList(_ list: WaypointList, didAdd entry: WaypointEntry, at index: Int)
waypointList(_ list: WaypointList, didSelect entry: WaypointEntry, at index: Int)
waypointList(_ list: WaypointList, didRemove entry: WaypointEntry, at index: Int)
waypointList(_ list: WaypointList, didDragFrom from: Int, to: Int)
waypointList(_ list: WaypointList, didUpdate entry: WaypointEntry, at index: Int)