Skip to main content

mapsindoors_platform_interface 4.8.0 copy "mapsindoors_platform_interface: ^4.8.0" to clipboard
mapsindoors_platform_interface: ^4.8.0 copied to clipboard

A common platform interface for the mapsindoors plugin.

Changelog #

4.8.0 #

Changed #

  • The minimum iOS version is now 16.0, and building for iOS requires Xcode 26. Set platform :ios, '16.0' in your Podfile and raise your app's iOS deployment target to match.
  • Updated Mapsindoors SDKs:
  • On iOS, the MapsIndoors SDK now depends on Google Maps SDK 10.15.0 and Mapbox Maps SDK 11.25.0.
  • On iOS, setAnimatedPolyline no longer has any effect. It ignored animated and repeating there, and read durationMs as seconds. Use setOptions instead, which works on both platforms.
  • MapsIndoors Insights now attributes sessions from iOS apps to this plugin and its version, as it already did on Android.

Added #

  • MPDirectionsRenderer.setOptions, getOptions and clearOptions, with MPDirectionsRendererOptions, MPStrokeStyle and MPRouteAnimationType, to change the style and animation of the rendered route at runtime. Properties left unset keep the wayfinding style configured in the MapsIndoors CMS. On Google Maps for iOS, MPStrokeStyle.dashed is drawn solid.
  • Offline caching of Mapbox base-map tiles, so the map underneath MapsIndoors still renders without a network: enableBaseMapCaching, synchronizeBaseMapTiles and isBaseMapCachingSupported, with MPMapboxStyleSource, MPDataSetCachingScope and OnBaseMapCacheProgressListener. The Google Maps packages report caching as unsupported.
  • MPDirectionsRenderer.finishGuidance, which reports to MapsIndoors Insights that the user finished following a route.
  • setMapsIndoorsLanguage supports Simplified and Traditional Chinese (zh-Hans, zh-Hant) on solutions that provide them, and resolves zh-CN and zh-TW to them.

Fixed #

  • On iOS, the app no longer crashes when getMapStyles or MapsIndoorsWidget.setHighlight is called, or a display rule is changed, while a map is shown.
  • On iOS, selectVenue, selectBuilding, selectLocation, selectLocationById and setHighlight on MapsIndoorsWidget now complete once the change has been applied, as on Android, so it can be read back as soon as they return. They used to complete before it had started.
  • On iOS, the leg-selected listener now runs before nextLeg, previousLeg and selectLegIndex complete, as on Android, instead of shortly afterwards.
  • On Android, the first MapsIndoors Insights session after an app start was attributed to the Android SDK rather than to this plugin.
  • The colour getters on MPDisplayRule (getPolygonFillColor, getPolygonStrokeColor, getExtrusionColor, getWallColor, getBadgeFillColor, getBadgeStrokeColor, getLabelStyleHaloColor and getLabelStyleTextColor) no longer return a fully transparent colour. Both platforms send these as six-digit #RRGGBB strings, which were decoded with an alpha of 0; they are now opaque. An app that compensated with withAlpha(255) or withOpacity(1.0) can drop that, but does not have to.
  • MPGeometry.contains, MPVenue.contains and MPBuilding.contains, and area on MPPolygon and MPMultiPolygon, now return results. On Android they always failed, and on iOS contains always failed and area returned null. A point inside a polygon's hole counts as outside on both platforms. Android's area can read up to about 1% higher than iOS's, because the two SDKs calculate it differently.
  • getSquaredDistanceToClosestEdge on MPPolygon and MPMultiPolygon now returns a distance on both platforms, where it always failed before. It returns -1 when the point is outside the geometry's bounding box.
  • On Android, a method call the native side does not implement, which can happen when the plugin's packages resolve to different versions, now fails with a MissingPluginException instead of never completing.

Deprecated #

  • MPDirectionsRenderer.setPolyLineColors and setAnimatedPolyline. Use setOptions instead.

4.7.3 #

Changed #

  • Updated Mapsindoors SDKs:

4.7.2 #

Changed #

  • Updated Mapsindoors SDKs:

4.7.1 #

Fixed #

  • Fixed issue on Android where floorselector actions returned from the SDK would not always run on the main thread, resulting in a crash

Changed #

  • Updated Mapsindoors SDKs:

4.7.0 #

Changed #

4.6.3 #

Fixed #

  • The function addVenuesToSync no longer causes a crash on iOS.
  • The function getLocationsByQuery no longer uses excessive amounts of memory on Android.

Changed #

4.6.2 #

Changed #

4.6.1 #

Fixed #

  • Added proguard consumer rules that should help avoid issues when minifying the SDK
  • Fixed issues with parsing Additional Details on iOS devices.

Changed #

4.6.0 #

Added #

Fixed #

  • Fixed a number of build issues on both Android and iOS

Changed #

4.5.1 #

Fixed #

  • Inconsistencies in color values across Android and iOS are gone
  • Avoid crashes when accessing a number of properties due to null values
  • The callback for onLegSelected in the onLegSelectedListener is now called on iOS

Changed #

  • Updated Mapsindoors SDKs:
    • Android to 4.15.2, making Android 16 kB page size compatible (Google Play requirement from November 1)
    • iOS to 4.14.0

4.5.0 #

Added #

  • Added support for automatedZoomLevel property in MPSolutionConfig to limit the zoom level when using e.g. the goTo(entity:) method.
  • Added goTo(entity:maxZoom:) method to allow for limiting the zoom level manually instead of using automatedZoomLevel.

Changed #

4.4.1 #

Fixed #

  • Fixed issues with using zoomTo and zoomBy camera updates on iOS.
  • Fixed issue with fromBounds camera update not adjusting the zoom level correctly.
  • Fixed issue with set hiddenFeatures not being respected on iOS.

Changed #

  • Updated Mapsindoors SDKs:

4.4.0 #

Fixed #

  • Fixed a number of Typos
  • Fixed an issue where attempting to fetch display rules by name using location ids not working on iOS
  • Fixed an issue where setting a duration on a CameraUpdate would be ignored on iOS
  • Fixed an issue where setting a zoom value on a CameraUpdate would sometimes be ignored on iOS
  • Fixed a native crash on Android by updating the underlying Mapbox Maps version

Changed #

  • Updated Mapsindoors SDKs:

4.3.2 #

Changed #

  • Updated Mapsindoors SDKs:

4.3.1 #

Fixed #

  • Fixed build issues for iOS.

4.3.0 #

Added #

  • Added enableMapsIndoorsDebugLogging(bool) function to enable SDK logging to help with debugging.

4.2.5 #

Fixed #

  • Resolved cocoapods dependency issue

4.2.4 #

Added #

  • Added possibility to define which map features to show when initializing the MapsIndoors widget

Fixed #

  • zoomBy on iOS now actually zooms by the given amount from the current zoom level
  • zoom level reported by Android when using Mapbox to not be off by 1

Changed #

4.2.3 #

Fixed #

  • Fixed iOS compilation error

4.2.2 #

Fixed #

  • Fixed iOS not respecting setHiddenFeatures for 3D models

Changed #

  • Updated Mapsindoors SDKs:
    • Android to 4.12.3
    • iOS to 4.12.1

4.2.1 #

Changed #

  • Updated Mapsindoors SDKs:
    • Android to 4.12.1

4.2.0 #

Changed #

  • Updated Mapsindoors SDKs:
    • Android to 4.12.0
    • iOS to 4.11.0

4.1.6 #

Fixed #

  • Made getLocations() return the same result on both Android and iOS.

Changed #

  • Updated Mapsindoors SDKs:
    • Android to 4.11.3
    • iOS to 4.9.6

4.1.5 #

Fixed #

  • zoomLevelChanged callback for custom floor selectors now gets called on iOS as well.

4.1.4 #

Fixed #

  • Removed a number of potential memory retentions in the iOS part of the Flutter plugin.
  • Restored functionality of the listeners on iOS that were disabled in version 4.1.3.

Changed #

  • Updated Mapsindoors SDKs:
    • Android to 4.11.2
    • iOS to 4.9.5

4.1.3 #

Changed #

  • Updated Mapsindoors SDKs:
    • iOS to 4.9.4

4.1.2 #

Changed #

  • Updated Mapsindoors SDKs:
    • Android to 4.10.1
    • iOS to 4.9.2

4.1.1 #

Fixed #

  • Fixed Android build issue

4.1.0 #

Fixed #

  • Fixed error when parsing MPRoute objects

Changed #

  • Updated Mapsindoors SDKs:
    • iOS to 4.8.3

4.0.2 #

Changed #

  • Updated Mapsindoors SDKs:
    • Android to 4.9.1
    • iOS to 4.8.1

4.0.1 #

Fixed #

  • Improved rendering performance of Mapbox Map view especially when pinch zooming.

Changed #

  • Updated Mapsindoors SDKs:
    • iOS to 4.8.0

4.0.0 #

Changed #

  • Replaced all uses of color-strings with dart:ui Color instead

3.1.3 #

  • No changes

3.1.2 #

  • No changes

3.1.1 #

Fixed #

  • Fixed issue where camera events would not be propagated to the Flutter layer

3.1.0 #

Added #

  • Added interface for disabling built-in compass

3.0.2 #

  • No changes

3.0.1 #

  • No changes

3.0.0 #

Added #

  • Added setHighlight and clearHighlight to MapControlWidget which allows you to highlight a list of locations
  • Added new MPCameraViewFitMode: none, which will disable automatic camera movement when changing legs
  • Added addExcludeWayType, clearExcludeWayType to MPDirectionsService to allow the user to exclude specific MPHighways when querying for a route.
  • Added two new MPSolutionDisplayRuleEnums selection and highlight that allows you to modify the look of highlighted and selected Locations.
  • Added support for Flat and Graphic labels, as well as 3D models
  • Added new setters and getters to MPDisplayRule:
    • LabelStyleGraphic
    • LabelType
    • IconScale
    • IconPlacement
    • PolygonLightnessFactor
    • WallLightnessFactor
    • ExtrusionLightnessFactor
    • LabelStyleTextSize
    • LabelStyleTextColor
    • LabelStyleTextOpacity
    • LabelStyleHaloOpacity
    • LabelStyleHaloWidth
    • LabelStyleHaloBlur
    • LabelStyleBearing
    • BadgeVisibile
    • BadgeZoomFrom
    • BadgeZoomTo
    • BadgeRadius
    • BadgeStrokeWidth
    • BadgeStrokeColor
    • BadgeFillColor
    • BadgePosition
    • Model3DModel
    • Model3DRotationX
    • Model3DRotationY
    • Model3DrotationZ
    • Model3DScale
    • Model3DZoomFrom
    • Model3DZoomTo
    • Model3DVisible
  • Added functionality to hide specific features from the map
    • setHiddenFeatures set a list of MPFeatureType to be hidden from the map
    • getHiddenFeatures get a list of currently hidden MPFeatureType
  • Added optional venue loading, use loadMapsIndoorsWithVenues(key, venueIds) to load a specific set of venues
    • Venues can be added and removed from load at any time by using addVenueToSync(venueId) and removeVenueToSync(venueId)
    • Track the status of venues by adding a listener with addOnVenueStatusChangedListener(MPVenueStatusListener)
    • Get a list of synced venues with getSyncedVenues()
  • Added functionality to disable automatic floor and building selection when moving the map
    • setBuildingSelectionMode set a Selection mode for Buildings on the map with MPSelectionMode (automatic or manual)
    • setFloorSelectionMode set a Selection mode for Floors on the map with MPSelectionMode (automatic or manual)
  • Added functionality to make locations selectable.
    • This setting can be found on MPLocation, MPPOIType and MPSolutionConfig
    • Added MPPOIType which can be fetched from MPSolution
  • Added mapsIndoorsTransitionLevel to MapsIndoorsWidget ctor
    • Sets the zoom level at which the MapsIndoors data should show, instead of extruded buildings on Mapbox Maps. Can be set to 0, if extruded buildings should not show.
  • Added multi-stop navigation: It is now possible to add multiple stops to routes.
    • The existing getRoute method gets two optional parameters stops and optimize
    • stops will add the stops to the route between the origin and destination
    • optimize will rearrange the stops to make a more optimal route, but origin and destination will stay the same.
  • Updated Mapsindoors SDKs:
    • Android to 4.8.5
    • iOS to 4.5.7

Deprecated #

  • Deprecated clearWayType: use clearAvoidWayType instead

2.1.6 #

  • Updated to Mapsindoors iOS SDK 4.3.11 with proper Privacy Manifests

2.1.5 #

  • Updated Mapsindoors SDKs
    • Android to 4.4.1
    • iOS to 4.3.8

2.1.4 #

  • No change

2.1.3 #

  • No change

2.1.2 #

  • No change

2.1.1 #

  • No change

2.1.0 #

  • Added showRouteLegButtons to MPDirectionsRenderer
  • Added setLabelOptions to MapsindoorsWidget

2.0.1 #

  • RETRACTED

2.0.0 #

  • Removed MPMapConfig as MapControl is now configured through the Widget
  • Removed MapControlInterface as it is no longer needed
  • Formatted entire project to be in line with dart formatting guidelines

1.0.0 #

  • Release
3
likes
140
points
792
downloads

Documentation

API reference

Publisher

verified publishermapspeople.com

Weekly Downloads

A common platform interface for the mapsindoors plugin.

Homepage
Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on mapsindoors_platform_interface