Mapwize SDK iOS Changelog
- Fixing floor connector not showing properly when the venue is Offline
- Adding floor controller component
- Improving support for entering-zoom
- Adding externalIds support
- Reordering geojson layer to improve display process
- Adding api method to create and retrieve issue
- Fixing issue with geojson display
- Adding translated floor property to placeDetails and direction routes
- Updating connector view in direction
- Adding support for titleDisplay place property
- Adding titleDisplay in setStyle method
- Fixing serialization issue for ReactNative
- Improving centerOnVenue options internal logic
- Fixing animated parameter not used in centerOn methods
- Making MWZOrganization class public
- Fixing DirectionMode serializer wrong 'identifier' field
- Adding PlaceDetails serializer
- Adding languagesDidChange in MWZMapViewDelegate (web sdk parity)
- Fixing map orientation when centerOnVenue options is used
- Adding MWZPlaceDetails object
- Fixing venue's default bearing issue
- Adding missing 'placeTypeId' in serialized place
Deprecating the following methods, classes and attributes:
- MapView: Add markers methods
- MapView: Add promoted place methods
- MapViewDelegate: didTapOnMarker
- DisplayEndMarker and endMarkerIcon in MWZDirectionOptions
Adding marker to the map is now done using addMarkers:(MWZMarker*) methods:
- A marker can be created from MWZMarkerOptions allowing more customization.
Adding select place methods:
- Selecting a place highlights it and gives it more visibility. This behavior replaces the promote.
Adding marker and line options in MWZDirectionOptions to allow more customization on the direction drawing process.
Adding missing direction mode icon.
- Fixing promoted invisible place does not diplay icon
- Fixing issue with entering venue at wrong zoom level
- Adding min/max zoom to connector
- Adding Mapwize logo clickable option
- Using place minZoom when centering on a place without specifying zoom level
- Adding telemetry
- Adding message when api key is not valid
- Adding failure delegate methods when map couldn't load on :
- map load
- floor change
- universe change
- venue enter
- Fixing crash when removing the map before it has been fully loaded
- Adding directionModeDidChange call when exiting a venue
- Adding methods to add/remove promoted places using MWZPlacePreview
- Adding support for min/max zoom with GeoJSON layers
- Improving the OfflineManager to have a more robust and smooth download. Adding support for selecting zoom range and introducing offline regions.
- Adding downloadData method allowing to choose the zoom range.
- Adding MWZOfflineRegion class.
- Removing skipMapboxDownload download options. Mapbox download is handled automatically.
- Removing method removeDataForVenue. Use removeOfflineRegion instead.
- Removing method isOfflineForVenue. Use hasOfflineRegionWithVenue instead.
- Removing method getOfflineVenues. Use getOfflineRegions instead.
- Removing method getOfflineUniversesForVenue. Use getOfflineRegionForVenue instead.
- Adding method getOfflineRegions.
- Adding method getOfflineRegionForVenue:universe.
- Adding method getOfflineRegionForVenueId:universeId.
- Adding method hasOfflineRegionWithVenue:universe.
- Adding method hasOfflineRegionWithVenueId:universeId.
- Adding method removeOfflineRegion.
- Adding method didDataChangeForOfflineRegion.
Improving offline search results
Introducting direction modes to allow computation of optimized directions for different profiles. This feature extends the existing accessibility feature in the directions.
- Adding directions API methods to use direction mode. Those methods are fully functional offline.
- Directions API methods with
isAccessible are still available but are deprecated. Those methods are not working offline anymore and now require a network connection.
getDirectionModes method on the map and
directionModesDidChange in the delegate to retrieve the available modes for the current venue/universe.
Adding method to get the user heading
Adding support for displaying layers and places only on certain zoom level, using the minZoom and maxZoom properties.
- Fixing issue with some SQLite requests
- Offline manager calls the failure callback when trying to download multiple venue/universe at the same time
- Fixing issue with OfflineManager when same universe is use across different venue
- Fixing issue with OfflineManager when same venue is downloaded with multiple universes
- Fixing getVenue method returning venue after venueDidExit call
- Adding navigation delegate methods
- Fixing issue with set direction
- Fixing cache issue when calling refresh
- Start navigation does not throw error anymore. It calls the navigationDidFail delegate method
- Fixing a potential caching issue when multiple venues are taken offline
- Adding toJSONString method for cordova mapping
- Improving error handling on download data
- Fixing crash on download data if direction are not defined
- Allowing all Mapbox version 5.0+
- Fixing UI calls on background thread
- Adding fade transition on floor change
- Fixing venues do not load at start
- Fixing offline navigation crash
- PlacePreview implements DirectionPoint
- Fixing cache issue that can happen after sign in
- Fixing issue with GeoJSON Layers
- Fixing Mapwize data not showing
- Fixing Floor options not handle properly
- Fixing MapboxMap nil right after the initialization
- Changing return type of
(MWZUserLocationAnnotationView *_Nonnull)viewForUserLocationAnnotation to properly handle floor changes
- Removing instruction that hide the compass by default
- Fixing iOS Location permission request when no location provider has been set
- Fixing issue with custom server url
This new version focusses on performance! The rendering engine has been completely redesigned while we have tried to keep the usage of the SDK as close as possible to the previous version to make migration as easy as possible. Here are the main changes to take into account:
- MapwizeForMapbox changed to MapwizeSDK: Please check the details in the documentation on how to install the SDK.
- MWZAccountManager -> MWZMapwizeConfiguration: MWZAccountManager has been replaced with MWZMapwizeConfiguration. MWZMapwizeConfiguration is the first object that you have to instantiate in order to get access to the MWZMapwizeApi and the MWZMapView.
- MWZApi -> MWZMapwizeApi: MWZApi has been replaced with MWZMapwizeApi. The interface remains (mostly) the same. You can get a MWZMapwizeApi from the factory
- MWZMapwizeApi and MWZMapwizeConfiguration: The usage of those 2 objects has changed to make it simple to use a single configuration stored in your info.plist, or possible to change configuration at run time.
- Standalone MapView: The map is now a standalone view and not a plugin. The instanciation of the underlying Mapbox map is done directly by the MapView. Still, the full Mapbox map remains available.
- Floors: Methds returning floors such as
getFloorForVenue now return a MWZFloor object instead of just a floor number.
- Camera Animation: Methods moving the camera such as
centerOnVenue can now specify if it should be animated or not.
- Markers: Methods that are synchronous now return the Marker immediatly. Adding marker on a placelist might require an Api call so the markers are returned using the OnMarkersAdded interface.
- Promoting places: Methods taking places as parameter do not return anything. Methods taking a PlaceList as parameter might require an Api call so the promoted places are returned using the OnPlacesPromoted interface.
- Setting style for places: The method
setPlaceStyles has been added to improve the performance when changing the style on a lot of places.
- Map events: New events have been added to the map delegate, in particular willChange and didChange for floors and universes.
- User location view: The user location view is now looking nicer with a pulse effect. The method
viewForUserLocationAnnotation in the map delegate allows to set your own view.
- Object preview: Some events now only return preview of objects like places and venues. When possible, methods like
centerOn can use those preview objects. If you need the full object, you can use
getFullObjectAsync on the preview object.
- Fixing issue with ApiFilter#floor parameter
- Adding MapOptions to restrict content to a list of venues
- Refreshing the displayed venue if something has changed on the server
- Fixing issue with place deletion
[BREAKING CHANGE] All addMarker methods now take a callback that contains the added marker(s) instead of returning the marker directly. This avoids issues when the SDK has to make a request to the server in order to add a marker.
- Upgrading Mapbox to v4.10.0
- Navigation callback is now also triggered at start
- Adding possibility to customise the user location display
- Refactoring offline download process
- Only downloading modified data
- Improving error handling
- Skipping Mapbox download if not required
- Keeping existing offline data if the download of an update fails
- Adding data to the MWZObject protocole
- Adding missing Parsing methods for Cordova SDK
- Fixing issue with database multi access
- Adding serialization methods for Cordova SDK
- Fixing minor issues
- Adding parsing methods for Cordova SDK
- Corrupted version. Cocoa upload error. Do not use.
- Adding missing methods for Cordova SDK
- Fixing issue with offline mode after application update
- Improving offline download workflow
- Fix issue related to Mapwize logo
- Removing unnecessary API call if data is already in database for places and universes.
- Fixing crash if optional delegate mapwizePluginDidLoad was not set
- Fixing first location update that wasn't triggered
- Making sure venue is initialized on an accessible universe
- Calling MGLOfflineStorage on the main thread to avoid Mapbox crash
- Adding OfflineManager methods to instantiate it using StyleUrl instead of MapView
- Adding methods to get the center of a place or a venue
- Updating doc to fix the SSZipArchive issue with Carthage
- Fixing missing file issue
- Adding sign in / sign out api methods
- Fixing crash with floor transition
- Fixing inconsistant behaviour on Navigation
- Adding complete offline support for display, search and directions.
- Adding cache for displayed content.
- Improving performances
- Improving floor transition
- Fixing distance Api method
- Fixing crash when destroying the map
- Fixing MWZAccountManager accessibility
- Fixing issue with heading when the map is destroyed
- Adding MWZAccountManager#setApiKey methods and documentation
- Fixing issue with custom server URL
- Updating Mapbox to 4.6.0
- Adding support for mainColor
- Adding options : centerOnPlace, centerOnVenue, universeId
- Renaming options :
- venueId -> restrictContentToVenueId
- organizationId -> restrictContentToOrganizationId
- Fixing background thread issues
- Removing AFNetworking dependencies
- Adding support for Carthage
- Fixing follow user mode behaviour when click on floor control or connector marker
- Adding floor in MWZApiFilter
- Fixing issues with navigation
- Adding navigation methods allowing developer to start a navigation instead of a direction if the starting point of a direction is the user position.
- Adding support for default center and default zoom on venue
- Fixing memory leaks on MapwizePlugin
- Fixing wrong dependencies
Version 1.3.1 (Not working - Dependencies issue)
- Fixing issue with follow user mode on floor change
- Upgrading to Mapbox 4.0.0
- Adding possibility to hide place polygons and icons with custom style
- Adding options to filter displayed venues on VenueId or OrganizationId
- Fixing issue with non-clickable places
- Fixing issue on CenterOnVenue with force=true
- Fixing parsing issue in parsedUrlObject
- Fixing unexpected behaviour on multiple gesture
- Adding setCoordinate and setFloor to annotation
- Adding MWZUISettings class to handle UI options
- Moving showFollowUserMode and showFloorController from MWZOptions to MWZUISettings
- Allowing to move MapboxLogo, MapboxAttribution and MapboxCompass without impacting Mapwize UI
- Improving Mapwize UI components
- Adding support for default Mapwize outdoor map style. Dedicated Mapbox account only required to customize the outdoor map.
- Mapwize logo and attributions are displayed by default when default Mapwize outdoor map is used
- Adding MWZDirectionOptions and method setDirection:(MWZDirection*) direction, options:(MWZDirectionOptions*) options
- Removing setDirection:(Direction*) direction icon:(Icon*) icon
- Changing default camera behaviour of setDirection:(Direction*) direction
- Fixing issues with DirectionPointWrapper
- Adding missing header files
- Adding method setDirection(MWZDirection*, UIImage*)
- Fixing click on annotation
- Fixing crash on enterVenue
- Fixing multiple venue entries crash
- Adding distance api route
- Fixing connector arrow issue
- Adding data field in Place and Venue objects
- Changing floors behaviour to only have in the floor selector the floors for which there is a layer visible on the screen. Changed the behaviour of getFloors and on didChangeFloors accordingly.
- Removing default tilt on FOLLOW_USER_AND_HEADING mode
- Fixing bugs with follow user mode
- Adding MWZLatLngFloorInVenue object
- Adding MapwizePlugin grantAccess method
- Adding missing methods : getFollowUserMode, setFollowUserMode, getDirection
- Improving public/private header
- Fixing issue with compilation for certain architecture
- Fixing but with venue load at start up
- Adding removePromotedPlacesForVenue
- Adding getLanguage
- Adding support for custom Mapwize server
- Adding animation on location change
- Exposing Mapbox delegate
- Adding didChangeFloors event in delegate
- Adding support for map options
- didTapOnMap returns LatLngFloor
- Improving methods to set and get universes and languages
- Adding setBottomPadding and setTopPadding with animation.