v1.5.2 - Fuzzy Targets

Navigation

  • automatically enable ".navigation" display state if a navigation-target is set

  • support for updating navigation-target locations (e.g. for asset-tracking targets)

    • use updateNavigationTargetsOfTask on FAVIndoorMapview

Markers

  • created venue-markers (via @p FAVIndoorMapview.venueMarkersForVenues:) have the venue-area as marker-priority by default

    • only if linked with BackspinSDK >= v3.5.2

    • see BackspinSDK (BSModelVenue.h) venueLocationPolygonArea

  • setting the marker-position of a marker-wrapper (FAVIndoorMapsMarkerWrapper protocol) now also updates the position of the concrete map-marker, if added to the map

v1.5.0 - Cluster-FAQ

General

  • added markerAnchor to FAVIndoorMapMarkerSimple

  • cleanup of GoogleMaps wrapper to avoid triggering false positives during submission to the Apple app store

Clustering

  • clustering should now be more performant

  • added addMarkerClusterCountIndicator to disable the default count-indicator for provided SDK markers

  • added markerPriority to marker-protocol

  • during clustering, the marker-priority is now considered to favour specific markers before others

    • added markerClusteringComparator to marker-data-source to return a order for markers for clustering

    • if not implemented, the markers are sorted by descending priority (the highest priority comes first)

  • added clusteringMinimumOverlappingRatio to define how much markers are allowed to overlap before they are clustered

  • included new datasource method clusterImageForMarker:withOriginalImage:withClusterCount: to customize the appearance of clustered markers

Navigation

  • changed navigationPathUpdateInterval default to 1 second, to draw the navigation-path on every position-update

  • if the position is lost, the navigation-path is removed from the map

  • internal turn-by-turn views now display a distance as well

Map Engine

  • support for marker-dragging (use the new isDraggable property)

  • fixed issue where markers could be displayed with an offset after level-changes

v1.4.7 - Drawing the line

General

  • clustered markers now have a counter-indicator in the upper right corner

Map Engine

  • fix for polyline crash

v1.4.5 - Ignore the Difference

General

  • added property ignoreLevelDifferenceForFollowModeRestore to restore the follow-mode (and prior map-rotation-state) even if the level is different

  • restoring follow-mode now more resilient

  • marker-info bottom-view is now in front of any (internal) level-switcher element

  • taps on the marker-info bottom-view doesn’t produce multiple callbacks any more (double or tripple taps do not produce further events)

Navigation

  • levelswitch icons during navigation are now displayed on the right coordinate

v1.4.4 - Mr. Clean Navigation

General

  • marker underneath the marker-info-view are not tappable any more, the info-view consumes touches exclusively

Navigation

  • changing mapViewDisplayState from .navigation now performs a correct cleanup again

v1.4.3 - May the force-follow position marker be with you

General

  • fixed several clustering and marker-image issues

  • forceRestoreFollowMode now considers the level and will NOT restore the follow-mode if the level is different at time of firing

  • setting enableLevelSwitcher to true if it is true already does not lead to a removed level-switcher any more (for internal level-switcher)

MapEngine

  • fixed rare crashes if the engine is not yet properly initialised

  • improved sideview performance

  • increased maximum supported zoom-level from 22 to 23

v1.4.2 - Clusterscroll

General

  • marker clustering now performed in background-thread

  • added flag forceRestoreFollowMode to restore the follow-mode after a time-out no matter what ("light" force-follow mode)

MapEngine

  • Sideview: if zooming is disabled, then dragging on the sideview directly moves the map, without requiring long-press

  • Sideview scrolling and tapping now more responsive (together with BackspinSDK v3.4.3)

v1.4.1 - Temperature: Above Freezing

General

  • if .navigation is enabled as source, but another active source is deviating significantly, the map will use the other source for map-rotation.

MapEngine

  • fixes for polylines that could lead to drawing extremely long lines

  • scrolling-bounds now more stable

  • fixed issue where the map would freeze after some time

v1.4.0 - You spin my map right round

General

  • support for Backspin movement direction via rotation-source .location

  • added property mapMarkerRotationDuration for smooth position-marker rotations (e.g. for mapRotationSource.location)

  • more stable usage of the rotation-source, especially on devices without compass

  • API-CHANGE: useDeviceCompassForBearing is now un-deprecated and used as property to determine if FAVIndoorMapRotationSourceCompass should use the internal compass or values that are provided via setCompassBearing:. It will no longer change the value of mapRotationSource!

  • API-CHANGE: renamed several properties for better clarity with the introduced mapRotationSource:

    • allowCompassAutorotation is now allowMapAutorotation

    • enableCompassRotation is now enableMapRotation

    • displayCompassAutorotationAndFollowModeButton is now displayMapAutorotationAndFollowModeButton

  • corrected setCompassBearing: parameter-type from CLLocationDegrees to CLLocationDirection

Map Objects

  • custom created objects now have a zIndex of at least navigation-paths (11), so they are displayed above the level-plan by default.

  • fixed bug where in combination with the Favendo map-engine, markers could have an offset if the level was changed multiple times

MapEngine

  • supports animation of marker-rotation

v1.3.2 - The Bounder Scrolls

General

  • support for GoogleMaps v2.2 cameraTargetBounds limitation, if maximumAllowedScrollingDistanceFromLevelPlanBounds is set to 0

  • will use cameraTargetBounds of the Favendo Map-Engine if maximumAllowedScrollingDistanceFromLevelPlanBounds is set to 0 as well

Navigation

  • removed direction-arrow and semi-transparent lines during navigation for Favendo Map-Engine. GoogleMaps is still the same

  • more performant Beacon-map-markers

MapEngine

  • implemented pendant to cameraTargetBounds from GoogleMaps to limit scrolling outside the bounds of the level-plan

v1.3.1 - Release memories of future past

General

  • added Swift wrapper setNavigationPathColorTo to FAVIndoorMapviewAppearance

  • added method cameraScrolledExternally to pause any follow-mode (e.g. for usage of sideview scrolling)

Markers

  • marker-info bottom view labes are now all correctly colorized if the default-colors are changed

MapEngine

  • fixed memory leak with levelplans

  • fixed sideview projection issue with inverted coordinates on certain rotations

  • added sideview-delegate to be informed about scrolling and tapping (e.g. to disable position-follow-mode)

v1.3.0 - Always look on the lateral side of life

General

  • Changed follow-mode button icons for easier understanding of their function

  • added flag shouldAutoRestoreFollowModeSettings to auto re-enable the follow-mode again after a timeout, if position is within camera bounding box. Is disabled by default.

  • added setting autoRestoreFollowModeTimeout to configure the timeout for shouldAutoRestoreFollowModeSettings

  • added FAVIndoorMapRotationSource (Beta!) to choose the source for map-autorotation.

Markers

  • FIX the bottom info-view for markers is correctly updated to custom-colors

  • added venueMarkerForVenue:venueLocation:useFacilityWrappers: for creating a single marker-wrapper

Navigation

  • if a navigation is started, enable auto-maprotation if allowCompassAutorotation is enabled

FavendoMapEngine

  • colors of polylines with alpha-values less than 1 now are correctly displayed

  • fixed rotation of camera, will now rotate clockwise relative to north (streamlined with Google Maps / Apple Maps / etc.)

v1.2.0 - Mapview McConaughey

General

  • Included first version of FavendoMapEngine.framework as offline-alternative to GoogleMaps.

  • removed GoogleMaps from CocoaPods podspec definition.

  • FIX: Autorotation now disabled as well if the map is scrolled.

  • FIX: While no indoor-position is available, the "compass autorotation" button is only a compass, regardless of display-state.

Markers

  • API-CHANGE: venueMarkersForVenues:useFacilityWrappers: now returning a dictionary with NSString as keys instead of NSNumber

  • added FAVIndoorMapMarkerVenueIconType to marker VenueWrappers for more marker customization

Navigation

  • added routing_destinationInYmetres and routing_nodistance_destination localization strings for turn-by-turn directions

  • turn-by-turn display now contains a destination state

  • if navigation is started via venue-location, the targetLabel of the navigationBottomView is filled with the venue-location name

  • markers are redrawn immediately if a navigation is ended and hideNonTargetMarkersDuringNavigation was set

  • all (visible) markers remain shown if a navigation is started and hideNonTargetMarkersDuringNavigation was set, until the next position is received

v1.1.2 - Do Not Reanimate

General

  • added suppressAllCameraAnimationsAndGestures flag to suppress all animations, in order to lay custom views above the mapview

v1.1.1 - Turningpoints

General

  • API CHANGE: LevelPlanChangeTilesUrlModel now allows custom url-formats

  • API CHANGE: renamed relativeMbTilesPath to absoluteMbTilesFilePath in LevelPlanChangeTilesFileModel

  • added global parameter preferredLevelplanFormat to define if tiles-url or tiles-files should be used from Backspin, if available

  • internal level-switcher now supports placing icons on the left or right, including custom icons

Navigation

  • improved turn-by-turn display with the next 2 instructions

  • added hideNonTargetMarkersDuringNavigation flag

Positioning

  • position-marker will be invalidated after 20s of no new beacons or positions

  • improved Position-marker design

  • added publishPositionUpdate: for more performant display of more than 2 position updates a second without invoking "heavy computation" BackspinSDK functions.

v1.1.0 - A New Release

General

  • API CHANGE: fixed typo in LevelPlanChangeModel: renamed initilMapViewZoom to initialMapViewZoom.

  • FIX maximumAllowedScrollingDistanceFromLevelPlanBounds boundary check.

  • FavendoIndoorMapviewBundle.bundle does not need to be included in app-target any more.

  • if a valid initialMapViewCameraTargetCoordinate is defined in a levelplan-change-model, the scrolling-state is set to "free scrolling".

  • added segment-height parameter for internal level-switcher

  • corrected documented default width/height of internal level-switcher to 45

  • if the level is changed via internal level-switcher, scrolling-state is automatically set to FreeScrolling or Follow, depending if the user-position is on the target level

Markers

  • support for empty markerTitle in MarkerPinWithTextWrapper.

  • added showVenueName to MarkerBackspinVenueWrapper.

Maps Wrapper

  • added strokeGradient and dashed properties to the polyline wrapper

  • added googleMapsStyleSpansForPath:styles:lengths:kind: delegate-method if dashed polylines are to be used with Google Maps

v1.0.9 - A New Hope

General

  • better integration of BackspinSDK

  • disabled auto-rotation of map by default

  • introduced flag "allowCompassAutorotation" to disallow compass-autorotation alltogether

  • introduced "levelPlanFittingBehaviour" parameter for levelplan changes

  • wrapped all calls to GoogleMaps, for future support of different map-engine implementations

  • renamed LevelPlanChangeTilesModel to LevelPlanChangeTilesUrlModel

  • introduced LevelPlanChangeTilesFileModel

  • the compass-autoration button is now at the top of the mapview instead of at the bottom

  • renamed compassAutorotationAndFollowModeButtonBottomConstraint to compassAutorotationAndFollowModeButtonTopConstraint

  • renamed saveCurrentMapViewSettingsAndDestroyGoogleMapsInstance to saveCurrentMapViewSettingsAndDestroyMapviewInstance

  • stability fixes

  • prefixed UIColor category methods to avoid collisions/duplicate symbols.

Markers

  • removed titleForDefaultInfoWindow, snippetForDefaultInfoWindow, and markerInfoWindow from FAVIndoorMapsMarkerWrapper protocol

  • added BackspinVenueWrapper and BackspinFacilityWrapper for Backspin venues

  • added info-view for Backspin venue markers

Navigation

  • keeping navigation-state across mapview instances

  • display turn-by-turn arrows on the mapview

  • turn-by-turn "headup" display

  • added level-change icons on the map (with support for stairs, elevators, and escalators)

  • non-metric unit support for distance outputs

v1.0.0 - A New Beginning