Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.11.0] - 2024-12-20

Added

  • ApiErrorService class

  • OTRoute class

  • pause and resume methods to Recorder class

  • isOTRoute and toOTRoute methods to Route class

  • setNavigationModifiers method of Debug class and NavigationModifiers enum

  • pauseRecording and resumeRecording methods of Recorder

  • createExternalDataSource and createLiveDataSource static methods of DataSource

  • setTTSLanguage method of SdkSettings

Changed

  • Replace XyType with Point as input parameter to methods from MapView and GemMapController classes: highlightHoveredMapLabel, centerOnRouteInstruction, setSlippyZoomLevel, setZoomLevel, transformScreenToWgs

  • Replace XyType with Point as input parameter to methods from FollowPositionPreferences class: setCameraFocus, setDrawFPS

  • Replace return type XyType with Point to methods and getters from MapView and GemMapController classes: transformWgsListToScreen, transformWgsToScreen, cursorScreenPosition

  • Replace return type XyType with Point to cameraFocus getter from FollowPositionPreferences class

  • Fields which should not be publicly accessible from listeners are now private. The notify... methods are now internal. Affected classes are NetworkProvider, RouteListener, ProgressListener, OffBoardListener, NavigationListener, LandmarkStoreListener, IGemPositionListener, EventDrivenProgressListener, AlarmListener. Use the provided register... methods instead of setting the callback function directly.

  • labelingMode field of the MarkerRenderSettings class (and MarkerCollectionRenderSettings extending class) is now Set<MarkerLabelingMode> instead of int?.

  • Fields from ClimbSection, SurfaceSection, RoadTypeSection, SteepSection, AbstractGeometryItem, AbstractGeometry, RectType, RenderSettings, RouteRenderSettings, HighlightRenderSettings, TimeDistance, MarkerCollectionRenderSettings, MarkerRenderSettings, RoadInfo, Language, RecorderConfiguration and TimeDistanceCoordinate classes are no longer nullable. Initiated default constructor values with appropriate values.

  • RouteInstruction, PTRouteInstruction and EVRouteInstruction extend RouteInstructionBase. The toEVRouteInstruction and toPTRouteInstruction are only in the RouteInstruction class

  • RouteSegment, PTRouteSegment and EVRouteSegment extend RouteSegmentBase. The toEVRouteSegment and toPTRouteSegment are only in the RouteSegment class

  • register... methods from GemMapController have nullable parameters to allow unregistering.

  • vizibility getter and setter from MapSceneObject class to visibility.

  • insideCityAea named parameter from Alarm.setOverSpeedThreshold method to insideCityArea.

  • return type from int to GemError from setRouteRoadBlock method from the RoutingService

  • enableDrawMarkersMode method of MapView now takes optional MakerRenderSettings parameter

  • getContourGeograficArea method of Landmark replaced with getContourGeographicArea

  • item and group values of MarkerLabelingMode enum are new deprecated. Added itemLabelVisible and groupLabelVisible values.

  • arrivalTime and departureTime getters of PTRouteSegment and arrivalTime and departureTime getters of PTRouteInstruction now return DateTime? instead of DateTime.

  • external DataSource objects are instantiated using the createExternalDataSource static method instead of constructor.

  • deprecated NavigationEventType enum.

  • Made onNavigationInstructionUpdate callback of the startNavigation and startSimulation methods of NavigationService nullable. The onNavigationInstructionUpdate method will be removed as all features are already provided by more specialized callbacks.

  • startNavigation and startSimulation methods of NavigationService return TaskHandler? instead of TaskHandler. The value null is returned when starting the operation fails and the onError callback is called with the error code.

  • search, searchLandmarkDetails, searchAlongRoute, searchInArea, searchAroundPosition of the SearchService class return TaskHandler? instead of TaskHandler. The value null is returned when starting the operation fails and the onCompleteCallback callback is called with the error code. Changed onCompleteCallback callback results parameter to non-nullable list of Landmarks. On error the list will be empty instead of null.

  • calculateRoute of the RoutingService class return TaskHandler? instead of TaskHandler. The value null is returned when starting the operation fails and the onCompleteCallback callback is called with the error code. Changed onCompleteCallback callback routes parameter to non-nullable list of Routes. On error the list will be empty instead of null.

  • searchReportsAlongRoute and searchReportsAround of the SocialOverlay class return TaskHandler? instead of TaskHandler. The value null is returned when starting the operation fails and the onCompleteCallback callback is called with the error code. Changed onCompleteCallback callback routes parameter to non-nullable list of OverlayItemPosition. On error the list will be empty instead of null.

Fixed

  • setRouteRoadBlock method from the RoutingService class.

  • registerOnMapViewMoveStateChangedCallback callback now provides correct area

  • Marker disapearing while passing nearby

  • exportLog returns correct filename when no name is provided

  • isTouchGestureEnabled method of MapViewPreferences class

  • setMapViewPerspective method of MapViewPreferences class

Removed

  • CameraConfiguration, SizeType, AutoDisposableObject classes

  • TimezoneResult class and related enums

  • fromJson method of MarkerRenderSettings and MarkerCollectionRenderSettings classes

  • hasRoutesCollectionInit, hasPathCollectionInit, hasFollowPositionPrefsInit fields from MapViewPreferences class

  • routeTrack getter from the RouteBase as it was replaced with the track getter from the OTRoute class

  • toJson methods from Parameter and Conditions classes

  • overrideOverheatCheck field of RecorderConfiguration class

[2.10.0] - 2024-11-29

Added

  • getLocalContentList, getStoreContentList, cancel methods of ContentStore class

  • orientation getter, visibility setter and getter, maxScale getter for MapSceneObject class

  • addUserMetadata and getUserMetadata methods and logSize getter of LogMetadata class

  • isValid getter of Version class

  • fromLatLong constructor of Coordinates class

Changed

  • startSimulation and startNavigation of NavigationService have more optional callback functions parameters: onNavigationInstruction, onNavigationStarted, onDestinationReached, onBetterRouteRejected, onBetterRouteInvalidated, onSkipNextIntermediateDestinationDetected, onError, onNotifyStatusChange

  • Constructor of GemMap has optional initialMapStyleAsset parameter

  • renamed GemMapController register methods: registerFollowPositionState to registerFollowPositionStateCallback, registerOnMapAngleUpdate to registerOnMapAngleUpdateCallback, registerOnMapViewMoveStateChanged to registerOnMapViewMoveStateChangedCallback

  • resetMapSelection method of GemView class is now async

  • default value for latitude and longitude fields of Coordinates class are now 2147483647

  • IMapViewListener class is now abstract

  • GemView class implements IMapViewListener abstract class

  • init and releaseView methods of GemView ckass are now internal

  • onFollowPostionState renamed to onFollowPositionState in IMapViewListener class and subclasses

  • GemMap and GemMapState fields and methods are now private

  • type of localTime field of TimezoneResult is now DateTime instead of Time

Fixed

  • setNavigationRoadBlock of NavigationService class now takes length into account

  • getUserMetadata method of LogMetadata class

  • isDataTypeAvailable method of LogMetadata class

  • cancelRoute method of RoutingService class

  • cancelSearch method of SearchService class

  • viewport getter of GemView has value as soon as onMapCreated is called

  • timestamp setter of Landmark class

Removed

  • coordinates setter of MapSceneObject class

  • SignpostImage, RoadInfoImage, LaneImage, TransferStatistics, Time classes

  • getImageByBitmap method of LandmarkCategory class

  • listener getter, setListener setter abd hasPrefsInit field of GemView class

[2.9.0] - 2024-11-12

Added

  • monitorArea, unmonitorArea methods and crossedBoundaries getter of AlarmService class

  • getMapReleaseInfo, getMapProviderIds, getProviderName, getProviderSentence methods of MapDetails class

  • algorithmType, allowOnlineCalculation buildConnections, sortingStrategy fields of RoutingPreferences class

  • landmarks getter and easyAccessOnlyResults getter and setter of SearchPreferences class

  • getOverlayById method of OverlayCollection class

  • paused, pausing, resuming values to RecorderStatus enum

  • MapProviderId enum

  • PTAlgorithmType enum

Changed

  • overlays of SearchPreferences class field type to OverlayMutableCollection and it is now a getter

  • constructor of SearchPreferences now takes optional easyAccessOnlyResults parameter

  • setCursorScreenPosition method of GemView is now async

Fixed

  • distorted markers rendered on map when images are not square

  • setCursorScreenPosition method of GemView no longer freezes the app on some Android devices

Removed

  • waypointReached value of NavigationEventType enum

  • strictTrackFollow field of RoutingPreferences class

  • landmarkCategories, allStoreCategoriesList, hasLandmarkCategoryList members of SearchPreferences class

  • OverlayUuidCategoryUuid class

[2.8.0] - 2024-11-01

Added

  • getMapCoverage, getCountryMapCoverage, getCountryName, getCountryNameByIndex, getCountryNameByISO, getLanguageCodeByIndex, getLanguageCode of MapDetails

  • currentRoadInformation, nextRoadInformation, nextNextRoadInformation getters of NavigationInstruction class

  • searchReportsAround, addComment, updateReport methods of SocialOverlay class

  • hasPreviewExtendedData, previewData, categoryId, getPreviewExtendedData, cancelGetPreviewExtendedData methods of OverlayItem class

  • updateReport method of SocialOverlay class

  • AlarmsList class

  • LandmarkPosition class

  • OverlayMutableCollection class

  • AlarmSerivce class

  • AlarmListener class

  • WeatherService class

  • Parameter class

  • Conditions class

  • LocationForecast class

  • Daylight enum

  • Location Wikipedia example for showing how to render the wikipedia page information for a point of interest

  • What is Nearby example for showing how to search for points of interest (POIs) near the current location looking for a certain type of POIs

  • Truck Profile example for showing how to compute a route based on the accessibility given by the physical characteristics of a truck

  • Public Transit example for showing how to compute and render a public transit route on the map

  • Assets Map Style example for showing how to apply a style from a .style asset

  • Display Cursor Street Name example for showing how to display the street name of the location at the cursor position

  • External Position Source Navigation example for showing how to navigate by custom positions pushed to a external data source

  • Lane Instructions example for showing how to display the lane image for the current instruction

  • Overlapped Maps example for showing how to display two overlapped maps

  • Weather Forecast example for showing how to display the different types of weather forecasts for a location

Changed

  • renamed isCursorRenderEnabled method of MapViewPreferences class to cursorRenderEnabled

  • added autoGenerateLabel parameter to add method of MapViewRouteCollection class

  • added onWaypointReached callback parameter to startNavigation and startSimulation methods from NavigationService

  • MarkerRenderSettings default constructor value of imageSize from -1 to 4

  • deprecated waypointReached value of NavigationEventType enum as it was replaced with onWaypointReached callback

Fixed

  • at method of SearchableParameterList

  • add method of MarkerCollection class

  • Markers icon size recalculation

Removed

  • create method of MapViewPathCollection

[2.7.0] - 2024-10-17

Added

  • SocialOverlay, SocialReportsOverlayCategory, SocialReportsOverlayInfo, OverlayItemPosition classes

  • checkTrafficAlongRoutes method of Debug

  • RouteListener class

  • routeListener getter and setter of RouteBase

  • LandmarkStoreType enum

  • RoutePathAlgorithmFlavor enum

  • RouteTypePreferences enum

Changed

  • alternativesSchema, pedestrianProfile, resultDetails, routeResultType, routeType and routeTypePreferences fields of RoutePreferences are no longer nullable.

  • routeGroupIdsEarlierLater field of RoutePreferences is of type List<int> instead of dynamic

  • routeTypePreferences field of RoutePreferences is of type Set<RouteTypePreferences> instead of int

  • type getter of LandmarkStore returns LandmarkStoreType instead of int

  • release method of GemKit is async

Fixed

  • preferences getter of GuiddedAddressSearch returns valid object after calling GemKit.release()

[2.6.0] - 2024-10-10

Added

  • MapViewRenderInfo class

  • MotorVehicleProfile class

  • LandmarkStoreListener class

  • fromCoordinates constructor of Path

  • navigationRouteLowRateUpdate getter and setter of MapViewExtension

  • getHighlightGroupItemIndex method of MapViewExtension

  • getCategoryCount, removeAllStoreCategories, getStoreIdAt methods of LandmarkStoreCollection

  • landmarkStores getter of LandmarkStoreService

  • scale method of MapController

  • ViewDataTransitionStatus and ViewDataTransitionStatus enums

  • addListener and removeListener methods of LandmarkStoreService

  • more values to the RoutePathAlgorithm enum

Changed

  • latitude and longitude members of Coordinates are no longer nullable

  • topLeft and bottomRight members of RectangleGeographicArea are no longer nullable

  • radius and centerCoordinates members of CircleGeographicArea are no longer nullable

  • OverlayCategory fields no longer nullable

  • onNewPosition method of IGemPositionListener is abstract

  • constructor of GuidedAddressSearchPreferences is private

  • create method of Path has required parameters and replaced format parameter type to PathFileFormat from int

  • setMinimumAllowedZoomLevel and setLowEndCPUOptimizations replaced with setters minimumAllowedZoomLevel and lowEndCPUOptimizations

  • registerViewRenderedCallback of GemMapController callback parameter type from dynamic to MapViewRenderInfo

  • onMapViewRendered callback takes MapViewRenderInfo as argument instead of dynamic

  • getAvailableOverlays method of OverlayService takes callback function parameter instead of ProgressListener

  • contentType getter of ContentUpdater returns ContentType instead of int

  • getRoute method of MapViewRoutesCollection returns null for invalid index

  • RouteBookmarks class moved to route_bookmarks.dart file. Added the new file to routing lib

  • TruckProfile and CarProfile extend MotorVehicleProfile

Removed

  • setPlaybackDataSource method of PositionService

  • create method of GuidedAddressSearchPreferences.

  • create method of PositionService

  • create method of TurnDetails

Fixed

  • getNextSpeedLimitVariation method of NavigationInstruction

  • getLandmarks, getCategoryCount, getStoreIdAt and removeAllStoreCategories methods of LandmarkStore

  • getPartArea method and area getter of Marker

  • lowEndCPUOptimizations getter and setter of MapViewExtension

  • getCategory and hasCategories methods of OverlayInfo

  • getDistanceOnRoute method of RouteBase

  • captureImage method of GemView

  • customizeDefPositionTracker method of MapSceneObject

  • imageSize field of MarkerCollectionRenderSettings breaking alignment

[2.5.0] - 2024-09-26

Added

  • importLog method of RecorderBookmarks

  • setParallelDownloadsLimit method of ContentStore

  • registerOnMapViewMoveStateChanged method of GemMapController

  • centerOnAreaRect method of GemView

  • registerLandmarkStore method of LandmarkStoreService

  • removeLandmarkStore method of LandmarkStoreService

  • updateLandmark method of LandmarkStore

  • clear method of MarkerCollection

  • delete method of MarkerCollection

  • getPointsGroupHComponents method of MarkerCollection

  • getPointsGroupHead method of MarkerCollection

  • indexOf method of MarkerCollection

  • getBetterRouteTimeDistanceToFork method of NavigationService

  • getNavigationInstruction method of NavigationService

  • getNavigationParameters method of NavigationService

  • getNavigationRoute method of NavigationService

  • isNavigationActive method of NavigationService

  • isSimulationActive method of NavigationService

  • isTripActive method of NavigationService

  • isTripActive method of NavigationService

  • simulationMaxSpeedMultiplier method of NavigationService

  • simulationMinSpeedMultiplier method of NavigationService

  • diskSpaceUsedPerSecond getter of Recorder

  • getAvailableDataTypes getter of Recorder

  • recorderConfiguration getter and setter of Recorder

  • status getter of Recorder

  • chunkDurationSeconds, continuousRecording, overrideOverheatCheck, maxDiskSpaceUsed, keepMinSeconds, deleteOlderThanKeepMin, transportMode fields of RecorderConfiguration

  • getTimeDistanceCoordinateOnRoute method of RouteBase

  • isCurrentThreadMainThread getter of SdkSettings

  • overload for == operator and hashCode method for BikeProfileElectricBikeProfile, BuildTerrainProfile, DepartureHeading, ElectricBikeProfile, EVProfile, CarProfile

  • EntranceLocations class

  • PTRoute class

  • PTRouteSegment class

  • PTRouteInstruction class

  • PTBuyTicketInformation class

  • PTAlert class

  • RouteTrafficEvent class

Changed

  • constructors of classes which should not be directly instantiated by the user are now private

  • classes consisting only of static methods are abstract (RouteBase, RoutingService, MapDetails, LandmarkStoreService, GuidedAddressSearchService, GenericCategories, SearchService, NavigationService)

  • all methods from NavigationService are static

  • getNextAddressDetailLevel method of GuidedAddressSearchService returns List<AddressDetailLevel> instead of List<int>

  • getStoreContentList method of ContentStore returns Pair<List<ContentStoreItem>, bool> instead of Pair<ContentStoreItemList, bool> and is now static

  • waypoints getter of RouteBase transformed to getWaypoints method and takes a parameter of type GetWaypointsOptions

  • startRecording and stopRecording methods of Recorder return GemError instead of int

  • exportLog method of RecorderBookmarks returns GemError instead of int

  • id getter from all enum extensions no longer return -1 on default case

  • fromId method of ContactInfoFieldTypeExtension no longer returns nullable ContactInfoFieldType, throwing exception on invalid input

  • isProtected and isUploaded members of LogMetadata are getters instead of methods

  • MarkerCollectionRenderSettings extends MarkerRenderSettings

  • TerrainProfile, ClimbSection, SurfaceSection, RoadTypeSection, SteepSection and related enums moved to a new file

Removed

  • create method from classes where it is not appropriate

  • empty classes (ClimbSectionList, RouteCollection, MapViewRouteCollection)

  • first and last values from ContentType enum

Fixed

  • caching mechanism of Marker images

  • getId method of LandmarkCategory

  • route getter of LogMetadata

  • recorderConfiguration getter of Recorder

  • current getter of GenericIterator

  • buildTerrainProfile field of RoutePreferences returned by preferences getter of RouteBase incorrect value

[2.4.0] - 2024-09-04

Added

  • addList method of MapViewMarkerCollections

  • devicePixelSize method of GemMapController

  • centerOnRoutePart method of MapView

  • LandmarkJson and MarkerJson for optimization

  • labels for Markers

Removed

  • MarkerSketches class and example

Changed

  • Moved some methods to safecall

  • Callback functions with multiple parameters now have named parameters

  • remove method of MapViewMarkerCollections renamed to removeAt

Fixed

  • getRenderSettings method of MapViewRoutesCollection returns RouteRenderSettings with correct values previously set with setRenderSettings method

  • cursorSelectionMarkers method of GemView

  • searchInArea method of SearchService

  • getCoordinates method of Marker

  • labelTextSize and labelTextColor of MarkerRenderSettings

  • indexOf method of MapViewMarkerCollections

  • setRenderSettings method of MapViewMarkerCollections

  • contains method of MapViewMarkerCollections

  • isSketches method of MapViewMarkerCollections

  • removeAt method of MapViewPathCollection

  • zoom out effect when tapping fast on markers

[2.3.1] - 2024-08-09

Added

  • More fields in RouteRenderSettings

  • NavigationStatus enum

  • Caching mechanism for images in SdkSettings class and getImageById method

Changed

  • Some fields in MarkerRenderSettings are no longer nullable

  • routes parameter of centerOnRoutes is named and nullable

  • navigationStatus method of NavigationInstruction class returns NavigationStatus

  • DataSource methods return GemError instead of int

Fixed

  • setMapStyleByPath method of MapViewPreferences class

  • enableOverlay and disableOverlay methods of OverlayService class

  • centerOnRoutes method of MapView class

  • waypoints getters of RouteSegment and RouteBase classes

  • removeLandmarkStoreId method of LandmarkStoreCollection class

  • RouteRenderSettings constructor

[2.3.0] - 2024-08-05

Added

  • setMapStyle with binary data

  • removeAllLandmarks method of LandmarkStore class

  • ExternalInfo class

  • MapSceneObject class

  • addList method of MarkerSketches class

  • MarkerSketches example

  • enableTouchGestures method of MapViewPreferences class

  • More values to RoadModifier

  • RoadModifierExtension

Changed

  • return type of method hasChargeStop of EVRouteSegment class from int to bool

  • cursorSelectionOverlays method returns OverlayItem

  • OverlayService methods return GemError instead of int

  • LandmarkStoreCollection methods return GemError instead of int

  • MapViewMarkerCollections methods return GemError instead of int

  • FollowPositionPreferences methods return GemError instead of int

  • setImageFromIconId method to setImageFromIcon. GemIcon parameter instead of int

  • ContentStoreItemStatus.downloadWaitingNetwork ID to 5

  • DataType.gyroscope ID to 1024

  • PositionRoadModifier to RoadModifier

  • AnimationExtension to AnimationTypeExtension

  • FixQualityExtension to PositionQualityExtension

  • PositionRoadModifier to RoadModifier

  • EMarkerLabelingModeExtension to MarkerLabelingModeExtension

  • ERouteRenderOptionsExtension to RouteRenderOptionsExtension

  • GenericCategoriesIDsExtension to GenericCategoriesIdExtension

  • mapDetailsQuality getter of MapViewPreferences returns MapDetailsQualityLevel instead of int

  • More methods throws exception instead of String

Fixed

  • getMapViewRoute, getLabel, setLabel methods of MapViewRoutesCollection class

  • add, update, addTrips, sortOrder methods of RouteBookmarks

  • fromJson method of EVProfile class

  • clear method of MapViewMarkerCollections class

  • timeStamp getter of Landmark class

  • releaseView Android native behaviour

  • setMapRotationMode IOS native behaviour

[2.2.0] - 2024-07-10

Added

  • getRouteStatus and CalculationRunning methods of RoutingService class

  • getRoadInfoImage, getRoadInfo, hasRoadInfo, isExit and getExitDetails methods of Route Instruction class,

  • getExtraInfo, setExtraInfo, setRouteListener and getRouteListener methods of Route class

  • isCalculationRunning, getRouteStatus methods of RoutingService class

  • verifyAppAuthorization method of SDKSettings class

Changed

  • replaced Time object with DateTime dart object in following methods: get and set timeStamp for Landmark class, get timeStamp for Route object, get timeStamp for RoutingPreferences class

Fixed

  • altitude field of GemPosition class

  • geographicArea method of Landmark class could cause app freeze

[2.1.0] - 2024-06-17

Added

  • PositionService custom data source

  • uncategorizedLandmarkCategId and invalidLandmarkCategId constants

  • getLogMetadata method of RecorderBookmarks class and LogMetadata class

  • EVRoute methods

  • SearchPreferences overlays

  • SignpostItem class

  • getTimeDistanceCoordinates and getWaypointsVia methods of Route class

  • MapCamera methods

  • GeographicArea classes and methods

  • OverlayService class and getAvailableOverlays method

  • captureAsImage method of MapController class [iOS only]

  • getLatestOnlineMapVersion method of MapDetails class

Changed

  • selectMapObjects method has been replaced with setCursorScreenPosition

  • asyncGetContentStoreList and asyncDownload are now FFI methods

  • images default size and format can be set with setDefaultWidthHeightImageFormat of SdkSettings class

  • getAbstractGeometry method has a new parameter, AbstractGeometryRenderSettings

  • setCursorScreenPosition, skipAnimation, scroll, getHighlightArea and resetMapSelection methods of MapController class are now non-async

  • setLiveDataSource now returns GemError

  • segments getter of Route class returns List<RouteSegment> instead of RouteSegmentList

  • getPath method of Route class now returns null path for invalid start and/or end instead of a Path with empty coordinates list

  • getTimeDistance now has a bool parameter activePart

Fixed

  • cancelSearch issue which caused onCompletedCallback to not be called with GemError.canceled

  • polygonGeographicArea getter of Route class

  • getRealisticNextTurnImage method and getTurnImage of Route class

  • getCoordinatesAtPercent static method of Path class

  • trafficEvents method for Route

  • toEVRoute method of Route class

  • routeTrack getter of Route class

  • exportAs method of Path class

  • cloneReverse method of Path class

  • cloneStartEnd method of Path class

  • getWaypoints method of Path class

  • getElevationSamples method of RouteTerrainProfile class behavior when callind with countSamples = 1

  • SignPostDetails class getters

  • waypoints getter of RouteSegment class

  • abstractGeometry getter of TurnDetails class

  • containsLandmark method of LandmarkStore class

  • getCategoryById method of LandmarkStore class now returns null object for an invalid id

  • getLandmarks method of LandmarkStore class now returns all landmarks for an unspecified categoryId

  • getLandmarkStoreById method of ContentStoreService class now returns null object for an invalid id

  • Map widget issues on Android which caused map to overlap other UI elements when rotating the device or opening a webview page over the one with the map

  • isFollowingPosition getter of MapController class

  • accuracyCircleVisibility getter and setter of MapViewPreferences class

  • getFieldName, getFieldValue, getFieldType methods of ContanctInfo class when calling with an invalid index

  • getAllowOffboardServiceOnExtraChargedNetwork method of SdkSettings class

  • getContourGeographicArea method of Landmark class

  • extraInfo getter of Landmark class

[2.0.0] - 2024-05-22

Added

  • releaseNative method

  • RouteRenderSettings optional parameter for add method of MapViewRouteCollection

  • Map creation parameters: initial coordinates, zoomLevel, area and appAuthorization

  • Marker class that allows drawing user defined polygons/polylines on the map

  • refreshContentStore method

  • getContentParameters method for ContentStoreItem

Changed

  • Imports

  • Replaced methods with get and set prefixes with Dart get and set

  • Renamed various members to match camelCase standard

  • Replaced create factory with default constructor for multiple classes

  • Multiple methods are now non-async

  • SDK initialization changed from GemKitPlatfor.instance.loadNative() to GemKit.initize()appAuthorization is now a parameter of GemKit.initize()

  • setAllowConnection of SdkSettings has now callback parameters of OffboardListener instead of OffboardListener object

  • update method of ContentUpdater has now onStatusUpdated and onProgressUpdate parameters instead of ProgressListener

  • GemAnimation has now onCompleted parameter instead of ProgressListener

  • Replaced ProgressListener with TaskHandler

  • Replaced error type from int to GemError enum

  • Replaced Rgba with Color

  • Replaced width and height image parameters with Size

  • Replaced LandmarkList, RouteList, ContentStoreItemList, LandmarkCategoryList with Dart lists

  • Added named parameters for some methods

  • Renamed enums to match Dart standard

Fixed

  • getImage, setImage, setExtraImage methods of Landmark

  • ContactInfo class

  • centerOnArea of GemMapController class

  • set and get language for SdkSettings

  • Check against null the MapView, when activity is paused / resumed

[1.9.0] - 2024-04-02

Added

  • Address Search

  • Offboard Listener

  • Content Updater for ContentStore

  • dispatchonmainThread on safecallObject

  • canDoAutoUpdate flag for offboardlistener constructor

  • safe call for gem_path methods

  • compare operator in Version class

  • dispatchOnMainThread flag defaults true for clear method in Routingservice

  • AllStoreCategoriesList field in SearchPreferences

  • ExternalRendererMarkers

  • setMapLanguage method

  • setCameraFocus and getCameraFocus methods

  • getMapVersion method

  • getExtraImage method

Changed

  • Refactor - modified more methods to non async

  • Removed err == 0 check from onNotifyComplete method on Search results

  • setAllowAutoMapUpdate flag defaults to false

  • initSdk to initCoreSdk

  • dispatchOnMainThread to true for route removal and setImageFromIcon

  • NavigationProgressListener to ProgressListener in setNavigationRoadBlock

  • add method from LandmarkStoreCollection

  • Landmark and landmark store methods to safecall

  • setNavigationRoadBlock to static method

  • setImage method for landmark to safecall

  • The way images can be obtained

Fixed

  • SetName method in Landmark

  • speed issue for position on Android

  • Version class

  • Map update/Resource update listener(Works on Android)

  • Version’s minor and major fields

  • ElectricBikeProfile

  • setBuildingVisibility method

  • addStoreCategoryList method

[1.8.0] - 2024-01-30

Added

  • appDidEnterBackground, appDidBecomeActive methods

  • onAngleMapUpdate, alignNorthUp methods

  • cursorSelectionStreets, cursorSelectionOverlayItems methods

  • getImageById, getImageUId, getImage, getImageByBitmap methods

  • clearAllButMainRoute, centerOnMapRoutes method

  • hasCoordinates, hasSpeed methods

  • getNearestLocation method

  • arguments for asyncDownload method

  • addRoute method

  • getOsVersion

  • automatic destructor

  • OffscreenBitmap object

  • position listener methods non async

  • default values for RoutePreferences

  • GenericCategories and LandmarkListCategories classes

  • FollowPositionPreferences

  • [] operator to GemList

  • More methods in RouteBookmarks

  • routeRenderSettings parameter when adding a route to view

  • auto for AndroidViewMode

  • check for calling methods before the Native is loaded

Changed

  • Made LandmarkList iterable

  • Initialize the SDK earlier on Android

  • Modified cancelRoute and cancelNavigation to non async

  • Modified centerOnArea, setCoordinates, centerOnRoutes to non async

  • Modified removeLandmark to non async

  • Modified all LandmarkStore and LandamrkStoreCollection methods to non async

  • Created a base class for lists ( Iterable )

  • Made the getter for displayed routes non async

  • Modified getTurnInstruction non async

  • Made cancelSearch static

  • Modified ContentStoreItemList to use GemList

Fixed

  • Activity lifecycle on Android

  • Real position issue

  • Path: clear and getArea issues

  • Blackscreen issue on Android 12

[Unreleased] - 2023-10-04

Added

  • More parameters to route preferences

  • MinDuration parameter for Recorder

  • onRouteUpdated and onBetterRouteDetected methods

  • getAbstractGeometryUId method

Changed

  • Modified cancel search method to non async

Fixed

  • cancelRoute issue

  • setLiveDataSource error throw

[1.5.6] - 2023-09-06

Added

  • Content Store: Map Styles, Human Voices, Offline Maps

  • Weather Service: Current Forecast, Hourly Forecast, Daily Forecast

  • New map gesture: Long Press

  • Recorder: Record route, export as .GPX

  • SDK Settings: Unit System, Language, Set Navigation Voice, Allow Offboard Service on Charged Network

  • Map Details: Get Country Flag by ISO code

  • Map Styles: Apply Map Style, Get Current Map Style

Changed

  • SDK Settings methods are now static and non-async

Fixed

  • Fixed an issue where screen rotate on Android would cause loss of connection to SDK

[1.5.2] - 2023-08-09

Added

  • Draw route

  • Route preferences

  • Route profile sections: Surfaces, Road types, Climb

  • Route path

  • WGS to screen coordinates converter

Changed

  • Modified Landmark to use direct FFI calls for getters.

  • Bug fixing and improvements

[1.5.1] - 2023-08-01

Changed

  • Bug fixing and improvements

[1.5.0] - 2023-07-25

Added

  • Distance between 2 coordinates

  • Image for landmarks

  • Landmark selection on map

  • SearchService: searchInArea & searchAroundPosition

  • Route segments & route instructions

  • MapViewRouteCollection methods

  • Center camera on routes

  • Abstract geometry image for navigation instructions

  • Navigation events callback: new instruction, waypoint reached & destination reached

  • Voice instructions with text-to-speech

  • Animations for center camera on coordinates & follow position

  • PositionService

  • Follow position enter/exit events

  • LandmarkStoreContent: custom stores

  • LandmarkStoreContent: add, remove & contains methods

[1.4.6] - 2023-07-22

Changed

  • Bug fixing and improvements

[1.4.5] - 2023-07-18

Changed

  • Bug fixing and improvements

[1.4.0] - 2023-07-13

Added

  • Start navigation simulation on route

  • Cancel navigation

  • Start follow position (for simulation only)

  • Navigation instruction callback

  • Landmark image

  • Abstract geometry for navigation instructions

  • Route time and distance

[1.3.0] - 2023-07-07

Added

  • Activate highlight

  • Deactivate highlight

  • Route calculation

  • Cancel route calculation

  • Center camera on route

[1.2.0] - 2023-07-05

Added

  • ExtraInfo field containing result distance, type, native name and English name

Fixed

  • Search working on Android and IOS

[1.1.0] - 2023-07-04

Changed

  • Bug fixing and improvements

[1.0.0] - 2023-06-30

Initial release