LogoLogo
CMSGitHubSupportBook a demo
  • Documentation
  • Academy
  • Help Center
  • Welcome
  • SDKS & Frameworks
    • Web
      • Getting Started
        • Prerequisites
          • MapsIndoors
          • Map Engine Provider
            • Option 1: Get your Mapbox Access Token
            • Option 2: Get your Google Maps API Keys​
          • Map Engine Setup
        • Getting Started: MapsIndoors
      • Map Visualization
        • Highlight, Hover and Select
        • Remove Labels from Buildings and Venues
        • Change Building Outline
        • Managing Collisions Based on Zoom Level
        • 3D Maps
          • Managing your 3D Maps
        • Base Map Styling - Google Maps
        • Managing feature visibility for Mapbox
      • Wayfinding
        • Directions
        • Directions Service
          • Tailoring the directions to your specific needs
        • Directions Renderer
          • Customizing the Route Animation
        • Multi-stop navigation
          • Custom Icons
        • User's Location as Point of Origin
      • Search
        • Search Operations
        • Searching
        • Using External ID, Geospatial Joins
        • Utilizing MapsIndoors Web Components and Other Searches
      • Map Management
      • Data Visualization
        • Display Heatmap Overlay
      • Other guides
        • Authentication
          • Single Sign-On
            • SSO Configuration
            • SSO Authorisation
          • 2-Factor Authentication
          • Password Reset
        • Application User Roles
        • Custom Properties
        • Display Language
        • Language
        • User Positioning
          • Show User's Location aka. Blue Dot
          • Using Cisco DNA Spaces
        • Working with Events
        • Turn Off Collisions Based on Zoom Level
        • Remove Labels from Buildings and Venues for Web
        • Synchronizing data for a subset of venues
        • Custom Floor Selector
      • Display Rules in Practice
      • Offline Data
      • Managing map visibility
    • Android
      • Getting Started
        • Prerequisites
        • Create a New Project
        • Show a Map
        • Create a Search Experience
        • Getting Directions
        • Enable Live Data
        • Integrating MapsIndoors into your own App
        • Migrating from V3 to V4
          • Migrating to Mapbox V11
      • Directions
        • Directions Service
        • Directions Renderer
          • User's Location as Point of Origin
        • Wayfinding Instructions
          • See Route Element Details
        • Using multi-stop navigation
      • Searching
        • Searching on a Map
        • Creating a Search Experience
      • Switching Solutions
      • Caching & Offline Data
      • Display Language
      • Displaying Objects
        • Application User Roles
        • Getting a Polygon from a Location
        • Location Clustering
        • Location Data Sources
        • Location Details
        • Turn Off Collisions Based on Zoom Level
        • Enabling and Disabling features on the map
      • Change Building Outline Color
      • Event Logging
      • Configuring a menu with AppConfig
      • Display Heatmap Overlay
      • Custom Properties
      • Custom Floor Selector
      • External IDs
      • User Positioning
        • Show User's Location aka. Blue Dot
        • Using Cisco DNA Spaces
        • Using Google Fused Location Provider
        • Using Indoor Atlas
      • Authentication
        • Single Sign-On
          • SSO Configuration
          • SSO Authorisation
        • 2-Factor Authentication
        • Password Reset
      • Display Rules in Practice
        • Label styling through Display Rules
      • Highlight and Select
    • iOS
      • Getting Started
        • Prerequisites
        • Set Up Your Environment
        • Display a Map
        • Search
        • Getting Directions
        • Migrating from v3 to v4
      • Directions
        • Directions Renderer
          • User's Location as Point of Origin
        • Wayfinding Instructions
          • See Route Element Details
        • Directions Service
        • Using multi-stop navigation
      • Searching
        • Searching on a Map
        • Creating a Search Experience
      • Caching & Offline Data
      • Displaying Objects
        • Application User Roles
        • Getting a Polygon from a Location
        • Location Details
        • Turn Off Collisions Based on Zoom Level
        • Enabling and Disabling features on the map
      • Custom Floor Selector
      • Change Building Outline Color
      • Custom Map Padding
      • Custom Properties
      • Display Rules in Practice
        • Label styling through Display Rules
      • Switching Solutions
      • Show User's Location aka. Blue Dot
        • Using Indoor Atlas
        • Using Cisco DNA Spaces
      • Highlight and Select
      • Display Language
    • React Native
      • Getting Started
        • Prerequisites
        • Project Setup
        • Displaying a Map
        • Creating a Search Experience
        • Getting Directions
        • Enabling Live Data
      • Showing Blue Dot
    • Flutter
      • Getting Started
        • Prerequisites
        • Create a New Project
        • Show a Map
        • Create a Search Experience
        • Getting Directions
      • Migration Guide
    • Integration API
      • Integration API Access
        • Access with Swagger
        • Access with Postman
        • Access with Python
        • Client credentials flow
      • Data Description
      • Reverse Geocoding
      • Route Access
      • OpenAPI Specification
    • Built-In Map Edits
      • Getting started
      • Authentication
      • Release notes
      • Reference docs
  • Products
    • Product Overview
    • CMS
      • Interface Overview
      • Display Rules
      • Location Types
      • Categories
      • Media Library
        • 2D Models and Icons
        • 3D Models
      • Editing Data
      • Solution Settings
      • Settings
      • Data Concepts
      • User Roles
      • Route Network
        • Barrier Route Element
        • Door Route Element
      • Additional Location Details
    • Map Template
      • Getting Started
        • Web Component
        • React Component
      • Configuration
        • Query Parameters
        • Categories
      • Customization
      • Deploying Map Template to a cloud storage provider
      • 2D/3D Visibility Switch
      • External customization of the Map Template
      • Location Details configuration
      • Kiosk
        • QR code configuration
  • Other
    • Map Design
      • Map Design System
      • Using a Custom Mapbox MapStyle
      • 2D Models
    • Changelog
      • Web SDK
        • V4
        • V3
      • Android SDK
        • V4
        • V3
      • iOS SDK
        • V4
        • V3
      • React Native SDK
      • Flutter SDK
      • MI Components
      • Map Template
    • Glossary
  • Legacy Docs
    • Android SDK V3
      • Getting Started
        • Prerequisites
        • Create a New Project
        • Show a Map
        • Create a Search Experience
        • Getting Directions
        • Enable Live Data
        • Integrating MapsIndoors into your own App
    • iOS SDK V3
      • Getting Started
        • Prerequisites
        • Set Up Your Environment
        • Display a Map
        • Search
        • Directions
        • Live Data
        • Integrating MapsIndoors into your own App
      • Inspect Route Element for iOS v3
      • Using Cisco DNA Spaces
      • Using Indoor Atlas
      • Switching Solutions
      • Show User's Location aka. Blue Dot
      • Application User Roles
      • Getting a Polygon from a Location
      • Location Details
  • MapsIndoors SDK Firewall
  • Google Analytics & Logging
  • Reference Docs
    • Web SDK
    • Android SDK
    • iOS SDK
    • React Native SDK
    • Flutter SDK
Powered by GitBook
On this page
  • [4.2.0] 2025-05-14
  • [4.1.6] 2025-03-26
  • [4.1.5] 2025-03-13
  • [4.1.4] 2025-03-06
  • [4.1.3] 2025-02-20
  • [4.1.2] 2025-01-30
  • [4.1.1] 2025-01-09
  • [4.1.0] 2025-01-09
  • [4.0.2] 2025-01-07
  • [4.0.1] 2024-12-11
  • [4.0.0] 2024-11-28
  • [3.1.3] 2024-10-31
  • [3.1.2] 2024-10-25
  • [3.1.1] 2024-10-16
  • [3.1.0] 2024-09-11
  • [3.0.2] 2024-08-27
  • [3.0.1] 2024-07-08
  • [3.0.0] 2024-06-26
  • [2.1.6] 2024-05-03
  • [2.1.5] 2024-03-25
  • [2.1.4] 2024-02-28
  • [2.1.3] 2024-02-13
  • [2.1.2] 2024-02-01
  • [2.1.1] 2024-01-24
  • [2.1.0] 2024-01-11
  • [2.0.0] 2023-08-15

Was this helpful?

Export as PDF
  1. Other
  2. Changelog

Flutter SDK

Last updated 16 days ago

Was this helpful?

Changelog for the MapsIndoors Flutter SDK. This document structure is based on and the project adheres to .

[4.2.0] 2025-05-14

Added

  • LabelPositioning on DisplayRules

  • Elevated 2D Models (Mapbox)

    • 2D Models that are placed on Extrusions will now be raised to be placed on top

  • Clip Layer (Mapbox)

    • Extruded buildings and Trees from the MapBox standard style can now be removed, when inside venue's geometry.

    • Does not remove landmarks consistently, will be solved with a future version of Mapbox

    • Requires the module to be enabled; contact MapsPeople to enable it.

Fixed

  • Added additional guards against the map being used before it is ready (Android/Google Maps)

  • Fixed issue causing compass to persist even when disabled (Android)

  • getLocationsByExternalIds now can return more than a single Location in the list (as would be expected) (iOS)

  • Fixed issue where some routes would be incorrect if the route was calculated while offline

  • Fixed issue where moving beyond the venue could cause a crash due to the floor selector

  • Reenabled Mapbox Attribution as it no longer causes a crash when tapped (Android/Mapbox)

Changed

  • Updated Mapsindoors SDKs:

    • Android to 4.12.0

    • iOS to 4.11.0

[4.1.6] 2025-03-26

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] 2025-03-13

Fixed

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

[4.1.4] 2025-03-06

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] 2025-02-20

Changed

  • Updated MapsIndoors SDKs:

    • iOS to 4.9.4 (to address some memory issues)

[4.1.2] 2025-01-30

Changed

  • Updated MapsIndoors SDKs:

    • Android to 4.10.1

    • iOS to 4.9.2

[4.1.1] 2025-01-09

Fixed

  • Fixed Android build issue

[4.1.0] 2025-01-09

Added

  • Added the ability to set a custom Mapbox style using the new mapStyleUri on MapsIndoorsWidget

Fixed

  • Fixed issue where setting mapsIndoorsTransitionLevel on MapsIndoorsWidget had no effect

  • Fixed error when parsing MPRoute objects

Changed

  • Updated MapsIndoors SDKs:

    • iOS to 4.8.3

[4.0.2] 2025-01-07

Changed

  • Updated MapsIndoors SDKs:

    • Android to 4.9.1

    • iOS to 4.8.1

[4.0.1] 2024-12-11

Fixed

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

Changed

  • Updated MapsIndoors SDKs:

    • iOS to 4.8.0

[4.0.0] 2024-11-28

Added

  • Added initialCameraPosition: MPCameraPosition to the MapWidget constructor. If set, the initial position of the camera will be moved to the given MPCameraPosition.

Changed

  • Changed all uses of color Strings to use dart:ui Color instead.

  • Updated MapsIndoors SDKs:

    • Android to 4.9.0

    • iOS to 4.7.0

Removed

  • ClearWayType has been removed, use ClearAvoidWayType instead.

[3.1.3] 2024-10-31

Fixed

  • Fixed custom floorselectors not working properly on iOS

Changed

  • Updated MapsIndoors SDKs:

    • Android to 4.8.12

    • iOS to 4.6.2

[3.1.2] 2024-10-25

Fixed

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

  • Fixed behavior where iOS would throw an error when getLocationById could not find a location, it now returns null like on Android

  • Fixed setCollisionHandling on MPSolutionConfig causing a crash

  • Fixed moveCamera/AnimateCamera from a MPCameraPosition would not work on iOS

Changed

  • Updated MapsIndoors SDKs:

    • Android to 4.8.11 (Mapbox only)

[3.1.1] 2024-10-16

Fixed

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

  • Fixed issue on iOS where setting a custom floor selector

  • Fixed issue on Android where goTo(MPLocation) did not function properly

  • Fixed tilt not being applied when moving the camera using a MPCameraUpdate on iOS

  • Fixed blank screen on Android when not using the MapsindoorsStyle

Changed

  • Updated MapsIndoors SDKs:

  • Android to 4.8.11 (Google Maps only)

  • iOS to 4.6.1

[3.1.0] 2024-09-11

Added

  • Added functionality for Android to update the map whenever a Display Rule is changed

  • Added method on MapsIndoorsWidget to disable built-in compass

Changed

  • Disabled Mapbox Attributions button on Android as it would crash when clicked

  • Updated MapsIndoors SDKs:

    • Android to 4.8.9

    • iOS to 4.5.14

[3.0.2] 2024-08-27

Fixed

  • Completed fix for build issue on Android devices

  • Fixed issues where updating display rules would not trigger a refresh on iOS

Changed

  • Updated MapsIndoors SDKs:

    • Android to 4.8.8

    • iOS to 4.5.12

[3.0.1] 2024-07-08

Fixed

  • Fixed build error when using Google Maps on Android

[3.0.0] 2024-06-26

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 MPLoction, 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.

Changed

  • Updated MapsIndoors SDKs:

    • Android to 4.8.5

    • iOS to 4.5.7

Deprecated

  • Deprecated clearWayType: use clearAvoidWayType instead

[2.1.6] 2024-05-03

Changed

  • Updated MapsIndoors SDKs

    • iOS to 4.3.11

[2.1.5] 2024-03-25

Changed

  • Updated MapsIndoors SDKs

    • Android to 4.4.1

    • iOS to 4.3.8

[2.1.4] 2024-02-28

Changed

  • Updated MapsIndoors Android SDK 4.3.4

Fixed

  • Fixed issue with not being able to always get a correct route involving one way paths.

[2.1.3] 2024-02-13

Changed

  • New Example app included.

Fixed

  • Fixed another issue where OnMapReadyListener would not be invoked during the initial load on iOS.

  • Fixed issues where setOnMarkerClickListener, setOnMapClickListener and setOnLocationSelectedListener would not accept being called with optional parameters.

[2.1.2] 2024-02-01

Changed

  • Updated MapsIndoors SDKs

    • Android to 4.2.12

    • iOS to 4.2.14

[2.1.1] 2024-01-24

Fixed

  • Fixed issue where OnMapReadyListener would not be invoked during the initial load on iOS.

[2.1.0] 2024-01-11

Changed

  • Updated MapsIndoors SDKs

    • Android to 4.2.10

    • iOS to 4.2.13

Added

  • Added showRouteLegButtons to MPDirectionsRenderer

  • Added setLabelOptions to MapsindoorsWidget

[2.0.0] 2023-08-15

Changed

  • Changes to classes:

    • MapControl

      • MapControl has merged with the MapsIndoorsWidget, combining them into a single entity. the Widget will still be built in the build tree, and accepts a listener as a parameter to wait for the MapControl part to be initialized.

    • MapsIndoors

      • Has been split up into functions on the namespace to align better with dart language standards. Some methods have changed naming to avoid collision with popular method and parameter naming (eg. MapsIndoors.load is now loadMapsIndoors)

  • Changes to the Widget

Visit the to see what changes are needed to upgrade from v3 to v4.

Moved from to allow for multiple map providers

The MapsIndoorsWidget has been changed to be a , this is to ensure that the underlying MapsIndoors in the platform code can function normally.

Keep a Changelog
Semantic Versioning
migration guide
mapsindoors
UniqueWidget