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.
Update all applications to version 1.6.0 or later to access the newest map available. To support recent enhancements, a change in the map format was required.
Legacy map formats will remain available until April 2027.
Due to improvements of our SDK and map data, we kindly ask you to update your applications and projects with any SDK revision released starting with October 2024 in order to continue using the online Magic Lane map-related services and to continue receiving map updates.
[1.8.4] - 2026-03-20
Build: 7.1.26.12.ADB30465
Fixed
- Fixes regarding geofence feature
[1.8.3] - 2026-03-18
Build: 7.1.26.12.FC99A40E
Added
- Added
szBorder,szInnerparameters toMapView.displayPath(),MapView.presentPath()methods
Fixed
-
Fixed crashes regarding
MapViewRoutesCollectionusage -
Fixed route bubble appearance for situations in which traffic info is not displayed
-
Fixed issue regarding road codes / signposts rendering inside an image view
-
Fixed exit roundabout turns appearance
Changed
-
Marked
SdkSettings.onMapDataReady()deprecated -
Marked
MapView.onReady()deprecated -
GemOffscreenSurfaceView.onDefaultMapViewCreated()notification is synchronized internally with SDK thread, so please avoid callingSdkCall.executeinside it. Just make SDK call inside it without anySdkCallguard
[1.8.2] - 2026-02-26
Build: 7.1.26.9.45AF722D
Fixed
- Fixed a crash regarding
AlarmListener.onCountryEntered()andAlarmListener.onCountryLeft()notifications
[1.8.1] - 2026-02-19
Build: 7.1.26.8.4EE9C177
Added
-
Added
EMapSpeedLimitCoverageenum,MapSpeedLimitclass,MapDetails.getCountrySpeedLimits()method -
Added
AlarmListener.onCountryEntered()andAlarmListener.onCountryLeft()methods -
Implemented
DefaultNetworkProvider.connect()andDefaultNetworkProvider.disconnect()methods
Changed
-
GemOffscreenSurfaceView.onScreenCreated(),GemOffscreenSurfaceView.onDefaultMapViewCreated(),GemSurfaceView.onScreenCreated(),GemSurfaceView.onDefaultMapViewCreated()calls are now synchronized with SDK thread, so there should be noSdkCall.execute,SdkCall.runSyncedblocks inside those notifications -
Changed default map style (the previous one contained elevation contours layer that slowed down rendering speed)
Removed
- Removed
SdkSettings.setAllowConnection(value: Boolean), please useSdkSettings.allowConnection = value, in place
Fixed
- Fixed SDK behavior for situations in which
SdkSettings.allowConnection = truewas called after the value was set tofalse, previously (the SDK is back online, if previously there is a valid Internet connection)
[1.8.0] - 2026-02-16
Build: 7.1.26.8.79E4DAF7
Added
-
Added
EHighlightLineType,EHighlightImagePosition,ESafetyCameraOverlayParamsKeys,EPublicTransitOverlayParamsKeys,EContentParamsKeys,ERideParamsKeys,EGeofenceParamsKeys,EMapObjectDetectorParamsKeys,EOverlaysParamsKeys,ERideSharingParamsKeys,ESocialOverlayParamsKeys,ETrafficParamsKeysenums -
Added
HighlightRenderSettings.lineType,HighlightRenderSettings.imagePositionproperties -
Added
RoutePreferences.setRoundTripParameters()method,EVRouteandEVRouteInstructionclasses,Route.toEVRoute()andRouteInstruction.toEVRouteInstruction()methods -
Added
BasicShapeDrawer.drawRoundedRectangle(),BasicShapeDrawer.getTextAscent(),BasicShapeDrawer.getTextDescent(),BasicShapeDrawer.getTextWidth()methods -
Added
OverlayItemAlarmsList.getDeviation,NavigationInstruction.nextWaypointDriveSideproperties
Changed
-
Provided grouping separator and decimal separator at SDK initialization
-
Renamed
HO_SelectabletoSelectableinEHighlightOptions -
Updated
EEVChargingConnectorandECommonOverlayIdenums -
EVCarModelproperties are now configurable -
Changes in
GemSurfaceView:-
onInitSdk: ((sdkToken: String?) -> Boolean)?becameonInitSdk: ((sdkToken: String?) -> Int)?(the method should return SDK initialization error code) -
Added
var onSdkInitFailed: ((Int) -> Unit)? = nullcallback that provides SDK initialization error as parameter -
Avoid throwing exception if SDK initialization fails. Please use
onSdkInitFailedcallback to get SDK initialization error code in such situations
-
-
GemSdk.initSdkWithDefaultsreturns an integer value now (initialization error code:GemError.NoErroron success, one of the remainingGemErrorcodes on failure) -
GemGlSurfaceAdapter: addedonSdkInitSucceededandonSdkInitFailedcallbacks for SDK initialization result handling
Fixed
- Fixed
getBooleanValuemethod fromSettingsService
[1.7.1] - 2025-11-17
Build: 7.1.25.41.85504BAA
Added
-
Added
AlarmService.startAlarmForOverlays(overlayIds: List<Int>),AlarmService.startAlarmForOverlay(overlayId: Int),AlarmService.stopAlarmForOverlays(overlayIds: List<Int>),AlarmService.stopAlarmForOverlay(overlayId: Int),OverlayService.getOverlaysById(ids: List<Int> ...) -
Added
NetworkProvider.isConnected(),NetworkProvider.isWifiConnected(),NetworkProvider.isMobileDataConnected() -
Added
EHighlightOptions.HO_Selectable.HighlightRenderSettings.optionshasInttype now and it can represent a combination ofEHighlightOptionsvalues -
Added
MapView.scale()method -
Added
MapActivity.minZoomLevel,MapActivity.maxZoomLevelandMapActivity.canZoom -
Added
NavigationInstruction.getReturnToRoutePosition(),NavigationInstruction.getReturnToRouteIcon(),ENavigationStatus.WaitingReturnToRoute
Changed
-
Renamed
ContentStoreItem.filenametoContentStoreItem.fileName -
GemUtilImages.asBitmap(image: SignpostImage?, width: Int, height: Int): Pair<Int, Bitmap?>changed toGemUtilImages.asBitmap(image: SignpostImage?, ...): Bitmap?,SignpoastImage.asBitmap(...): Pair<Int, Bitmap?>changed toSignpoastImage.asBitmap(...): Bitmap? -
GemUtilImages.asBitmap(image: RoadInfoImage?, ...): Pair<Int, Bitmap?>changed toGemUtilImages.asBitmap(image: RoadInfoImage?, ...): Bitmap? -
GemUtilImages.asBitmap(image: LaneImage?, ...): Pair<Int, Bitmap?>changed toGemUtilImages.asBitmap(image: LaneImage?, ...): Bitmap? -
RoadInfoImage, SignpoastImageandLaneImageextendImage -
RoadInfoImage.asBitmap(...): Pair<Int, Bitmap?>changed toRoadInfoImage.asBitmap(...): Bitmap?,LaneImage.asBitmap(...): Pair<Int, Bitmap?>changed toLaneImage.asBitmap(...): Bitmap?
Fixed
-
Position recording functionality no longer dependent on DashCam feature
-
Fixed crash in
GlSurfaceHolderAdapter
[1.7.0] - 2025-10-08
Build: 7.1.25.41.85504BAA
Added
-
Added new values to
ELandmarkStoreType:MapHighwayExit,MapRoads,Overlays,Geofence -
Added
LandmarkStoreService.overlaysLandmarkStoreIdandLandmarkStoreService.geofenceLandmarkStoreId -
Added
RoutePreferences.avoidGeofenceAreasandRoutePreferences.stickInsideGeofenceAreas -
Added new route type (
ERouteType.Scenic) -
Added
PolygonGeographicArea(coordinatesList: CoordinatesList)constructor. -
Added
PositionData.hasCoordinates(),ImprovedPostionData.hasCoordinates(),ImprovedPostionData.hasTerrainData(),ImprovedPostionData.terrainAltitude,ImprovedPostionData.terrainSlope -
Added
PositionService.positionPublishingPreferencesandPositionService.getLastPublishedPosition() -
Enabled Geofence support in SDK. Added
Geofence,Login,PositionPublishingPreferencesclasses
[1.6.2] - 2025-07-16
Build: 7.1.25.29.063A32EE
Fixed
- Improved
GemGlSurfaceAdapter.onScale()behavior
[1.6.1] - 2025-06-15
Build: 7.1.25.24.A0E07DC1
Added
- Added new categories for
EGenericCategoriesIDs:ChargingStation,BicycleChargingStation,BicycleParking
Fixed
- Solved
GEMSdknot running on Automotive Emulator. UpdatedisRunningOnEmulator()method
[1.6.0] - 2025-05-29
Build: 7.1.25.22.5235077E
Added
- Added
Route.extraInfomethod
Changed
- Removed
RecorderConfiguration.deviceModel
[1.5.5] - 2025-03-03
Build: 7.1.25.10.7B562D2D
Fixed
- Fixed erroneous map rotation when in navigation mode
[1.5.4] - 2025-02-18
Build: 7.1.25.8.85E3F991
Fixed
- Fixed
NavigationService.getTurnId64()output for waypoints turns (the waypoint side was wrongly reported)
[1.5.3] - 2025-02-06
Build: 7.1.25.6.A8D23EF5
Added
-
Added
SoundPlayingService.setDefaultHumanVoice()andITTSPlayerInitializationListener.onTTSPlayerInitializationFailed()methods -
Added
ESConfigKeys.Position.ImprovedPosPreferRouteSnapproperty
[1.5.2] - 2025-01-23
Build: 7.1.25.4.8359B06D
Changed
- Improved resume in route over track navigation
[1.5.1] - 2025-01-15
Build: 7.1.25.3.9ED2450F
Fixed
- Fixed crash when computing a bike route
[1.5.0] - 2025-01-08
Build: 7.1.25.2.0C32661A
Added
- Added
ElectricBikeProfile.refSpeed,ElectricBikeProfile.ignoreLegalRestrictionsproperties
Fixed
-
Fix regarding roundabout turn image
-
Fixed issues regarding
AddressInfousage
[1.4.0] - 2024-11-14
Build: 7.1.24.46.2F7651F2
Fixed
-
Fix regarding SDK log size
-
Fixes regarding
PositionData:ImprovedPositionData,AccelearationData,RotationData,CameraDataobjects construction on ARM32 devices
Changed
-
Replaced default GPS arrow
-
Improved navigation on a GPX route
[1.3.0] - 2024-10-25
Build: 7.1.24.43.11923D7B
Added
- Added
MapView.startTrackPositions(),MapView.getTrackedPositions(),MapView.isTrackedPositions()andMapView.stopTrackPositions()methods
Changed
- Bug fixing and improvements
[1.2.2] - 2024-09-25
Build: 7.1.24.39.F5DE2589
Changed
- Update consumer proguard file of the SDK
[1.2.1] - 2024-09-10
Build: 7.1.24.37.74598F2D
Added
- Added a consumer proguard file to the SDK. In this case the optimisation will apply when
minifywith R8 is enabled in client app's build settings
[1.2.0] - 2024-08-29
Build: 7.1.24.35.050EFEB7
Added
- New ways to construct
CircleGeographicAreaandMarkerobjects
Changed
- Refactor
Weatherclass
[1.1.0] - 2024-08-20
Build: 7.1.24.34.A27F8A0A
Added
-
Added
MarkerCollectionRenderSettings.setCustomMarkerSettings()method -
Traffic.addPersistentRoadblock()received event ID parameter. Now can add a persistent roadblock using a geographic area -
Added
Traffic.removePersistentRoadblock(id: String)method
Fixed
- Fixed
PermissionsHelper.notifyOnPermissionsStatusChanged()call (it did nothing in previous release)
Changed
- Optimizations regarding map rendering & touch events handling
[1.0.2] - 2024-07-24
Build: 7.1.24.30.FB70C514
Added
-
Magic Lane provides the Maps SDK for Android also via Maven. Find more information about how to do this at Maps SDK Android Kotlin Maven Package Registry Wiki
-
Added
GemSdk.generateGPSLog()method -
Added
MapView.displaySimplifiedRoute,MapView.displaySimplifiedRouteTurn -
Added
LandmarkStoreService.mapCitiesLandmarkStoreIdproperty,GemUtil.getFormattedWaypointNamemethod -
Added
save(),load(),sketches(),isSketches()methods toMapViewMarkerCollectionsclass. AddedMarkerSketchesclass -
Added
MarkerCollectionRenderSettings.setCustomMarkerSettings()method -
Provided error codes on
LandmarkStore's add, remove, update operations
Fixed
-
Fix regarding the provided error message for a caught exception
-
Fixed
GemUtil.pairFormatLandmarkDetailsoutput for situations in which the input landmark is a city / settlement -
Fixes regarding missing
MapViewListener.onReady()notification,onDefaultMapViewCreated()notification forGemOffscreenSurfaceView,SearchService.searchByFilter()reference point -
Fixed crash related to
GemOffscreenSurfaceView.destroy()call
[7.1.24.20.8B92211B] - 2024-05-15
Fixed
- Fix related to route simulation
[7.1.24.19.64184A80] - 2024-05-09
Added
-
Added
DataBuffer.defalte(),DataBuffer.inflate()methods -
Added
MapView.addRouteGeometry,MapView.removeRouteGeometry(),MapView.addNavigationInstructionGeometry(),MapView.removeNavigationInstructionGeometry(),MapView.removeAllMarkers()methods -
Added
NavigationInstruction.exportAs()method -
Added
RoutePreferences.setBuildConnections(),RoutePreferences.getBuildConnections(),RoutePreferences.getBuildConnectionsMaxLength()methods
Changed
RoutePreferences.setEmergencyVehicleMode(value: Boolean, extraFreedom: EEmergencyExtraFreedomLevels)becameRoutePreferences.setEmergencyVehicleMode(value: Boolean, extraFreedom: Int = 0)
[7.1.24.16.F295FF8E] - 2024-04-16
Added
-
Added
ShowUserImagetoERouteRenderOptionsenum -
Added
MapView.getClosestAddress()method
Fixed
-
Fixed regarding reported network connection type
-
Fixed crash inside
GemUtil.getDistText()method
[7.1.24.6.9D80705D] - 2024-02-09
Added
- Added
NavigationService.getTurnId32(turnDetails)andNavigationService.getTurnId64(turnDetails)
Fixed
- Fixed reported crash regarding GPS map matching
[7.1.24.3.AC9A0B85] - 2024-01-18
Added
-
Added support for EV routing
-
Added
MapSceneObject.saveState(),MapSceneObject.restoreState()methods -
Added
DataBuffer.fromStr(),DataBuffer.toStr()methods -
Added
FollowPositionPreferences.touchHandlerModifyPersistentproperty -
Added support for reading map styles from assets
-
Added
MapViewPreferences.mapLabelsFadingproperty -
Added
EVCarModelclass,RoutingService.evCarModelsproperty
Fixed
-
Fixed regarding SDK reinitialization
-
Fixed error regarding sound playing notifications (did not receive any notification on the provided sound playing listener)
-
Fixed crash regarding
Pair<Double, Double>,Pair<Int, Int>data types usage
Changed
-
Changed min SDK level from 19 from 21
-
PersistentRoadblockListener.onRoadblockExpired(eventId: Int)becamePersistentRoadblockListener.onRoadblocksExpired(list: TrafficEventList), PersistentRoadblockListener.onRoadblockActivated(eventId: Int)becamePersistentRoadblockListener.onRoadblocksActivated(list: TrafficEventList)
[7.1.23.41.63AB0887] - 2023-10-13
Added
-
Added
RouteRenderSettings.lineTypeproperty -
Added GPXThumbnailImage example
-
Added
routeRenderSettingsparameter toMapView.presentRoute()
Removed
- Removed
zoomLevelparameter fromMapView.presentRoute()andMapView.presentRoutes()
[7.1.23.41.CD21BBB5] - 2023-10-11
Added
-
Added
GemOffscreenSurfaceViewclass (for rendering the map inside an offscreen view) -
Added
onStatusChangedlambda toRoutingService(this is the only way in which user can be notified about "Waiting Internet Connection" state)
Fixed
-
Fixed memory leaks. Fixed SDK reinitialization
-
Fixed crash regarding
RoutingService.calculateRoute()usage
Removed
- Removed
RoutePreferences.svSortingStrategy
[7.1.23.40.3E31A25A] - 2023-10-04
Changed
- Bug fixing and improvements.
[7.1.23.34.BD3E9DF4] - 2023-08-22
Added
-
Added
RoutePreferences.departureHeading,RoutePreferences.setDepartureHeading(head, accuracy),RouteInstruction.hasRoadInfo,RouteInstruction.roadInfo,RouteInstruction.roadInfoImage -
Added
Hydrants,EmergencyServicesSupportandCivilEmergencyInfrastructuretoEGenericCategoriesIDsenum
Changed
- Documented
RoutePreferences.setBuildTerrainProfile()
[7.1.23.33.8BAF5E3B] - 2023-08-18
Changed
- Bug fixing and improvements.
[7.1.23.29.6D0B6AFC] - 2023-07-22
Added
- Added
GLCallobject (to be used for posting calls on GL thread)
Fixed
- Fixed reported crash regarding markers display
[7.1.23.24.F818CE1B] - 2023-06-14
Changed
- Bug fixing and improvements.
[7.1.23.21.0B8B1AC2] - 2023-05-25
Changed
- Bug fixing and improvements.
[7.1.23.20.D1E234B6] - 2023-05-18
Added
-
Added
GemUtilImages.setDpi(dpi: Int)method -
Added
RouteSimulationWithoutMapexample
Changed
MagicADASListener.onVehicleData(timestamp: Long, headway: Float, distance: Float)becameMagicADASListener.onVehicleData(timestamp: Long, vehicle: Obstacle)
Fixed
- Fixed crash inside
SetTTSLanguageexample
[7.1.23.14.BF4263FC] - 2023-03-30
Added
-
Added
RoutePreferences.setEmergencyVehicleMode(Boolean, EEmergencyExtraFreedomLevels)method -
Added
MapViewPreferences.setViewAngle(value: Int, animated: Boolean = false)method -
Added
centerparameter toCanvasListener.onPinch()method
Removed
- Removed
CanvasListener.onRotate()method
[7.1.23.13.68D7B4E1] - 2023-03-30
Added
-
Added
FollowPositionPreferences.setViewAngle(angle, animated)method -
Added
InertialtoPositionData.EFixQualityenum (this fixes reported crash regardingPositionData.fixQualityusage)
[7.1.23.13.00B7E257] - 2023-03-28
Fixed
- Fixed issue regarding global reference table overflow
[7.1.23.12.9D4F3B36] - 2023-03-21
Added
-
Added
ExternalBattery,ExternalCompass,ExternalAcceleration,ExternalTemperature,ExternalMagneticField,ExternalOrientation,ExternalAttitude,ExternalActivity,ExternalCamera(to be used to push data from corresponding sensors to an external data source) -
Added
RoadSafetyAlerts.createSensorDataLogger(),RoadSafetyAlerts.saveSensorDataLog()methods -
Added
allowOnlineparameter toGemSdk.initSdkWithDefaults()method
Changed
-
Renamed
SenseDataSource.getLastData()toSenseDataSource.getLatestData() -
Renamed package
aidashcamtoadas -
Moved
Recorderfrom packagesensordatasourceto newdashcampackage -
Renamed
RoadSafetyAlertstoMagicADAS,RoadSafetyAlertsListenertoMagicADASListener
Removed
- Removed
SenseDataSource.getFirstData()
[7.1.23.5.0AA862C4] - 2023-02-01
Changed
- Bug fixing & improvements.
[7.1.23.4.8D1F18B9] - 2023-01-25
Added
-
Format landmark details methods to
GemUtil -
New
postLambdasOnMainparameter toGemSurfaceViewconstructor -
Support for saving / restoring map state inside surface view, for situations in which surface is recreated
-
New
onMapAngleUpdatedAPI method toMapViewListenerclass
Changed
-
Fix regarding free text search
-
Fix postal code search via address search service
Removed
MapView.onTouchRotate()method
[7.1.23.2.F5465C47] - 2023-01-11
Added
-
New
viewAngleparameter forMapView.centerOnRouteInstruction(),MapView.centerOnRouteTrafficEvent()methods -
New
initialparameter forMapView.shove()method
Changed
-
Refactored AI Dash Cam
CalibrationConfigurationclass (some members disappeared, others have been renamed) -
Fixed crash regarding
Coordinatesobject usage -
Fixed crash regarding overlay items handling
-
Fixed crash regarding SDK objects list usage
Removed
MapView.onTouchShove()method
[7.1.22.46.8999C03E] - 2022-11-14
Changed
- Bug fixing & improvements.
[7.1.22.44.2B4D1305] - 2022-11-01
Changed
- Bug fixing & improvements.
[7.1.22.41.6B0D8D54] - 2022-10-10
Changed
- Bug fixing & improvements.
[7.1.22.39.4A2FB489] - 2022-09-27
Added
-
SDK log is written to a private file (which can be sent to GM, if something wrong is happening)
-
Added
onInitSdklambda toGemSurfaceViewclass that allows user to perform a custom SDK initialization (see above) -
Added
sdkTokenattribute toGemSurfaceViewclass (the user can now specify SDK token inside layout xml, as an attribute of GemSurfaceView element) -
Added
SendDebugInfo,SpeedTTSWarning,BLEServer,BLEClientexamples
Changed
- Used
Context.getExternalFilesDirs("")output for default app internal / external paths. If the user wants to keep previous default paths, a custom SDK initialization should be done:
gemSurfaceView.onInitSdk = { sdkToken ->
val internalPath = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
{
dataDir.absolutePath
}
else
{
filesDir.absolutePath
}
GemSdk.initSdkWithDefaults(this, sdkToken, null, internalPath, getExternalFilesDir("")?.absolutePath)
}
-
PositionServiceis now an object. FixedDriverBehaviorandVoiceInstrRouteSimulationexamples -
Fixed crash regarding search operation
-
Improved
Favouritesexample behavior -
Fixed turn appearance inside
RouteSimulationWithInstructionsexample -
Refactored
LocationWikipedia,MapGestures,MapPerspectiveChange,MultipleSurfacesInFragment,MultipleSurfacesInFragmentRecyclerexamples
[7.1.22.31.A096D237] - 2022-08-04
Added
-
Bug fixes and improvements
-
Add new SDK examples:
RangeFinder,SetTTSLanguage
[7.1.22.26.D501C72F] - 2022-06-30
Added
-
Enum:
EMarkerLabelingMode,ETouchGestures,ETrafficAvoidance -
Member:
MapViewPreferences.trafficVisibilityERouteRenderOptions.ShowHighlightsMarkerCollectionRenderSettings:labelingMode,labelTextColor,labelTextSize,labelGroupTextColor,labelGroupTextSize,imageSizeTruckProfile.maxSpeed -
Methods:
MapViewPreferences:enableTouchGestures,isTouchGestureEnabled
Changed
PathCollection had been renamed to MapViewPathCollection
SdkSettings.setAllowMapUpdate renamed to setAllowAutoMapUpdate
MarkerCollection.name is var now.
MapViewPreferences.paths returns MapViewPathCollection now.
RoutePreferences.avoidTraffic is now ETrafficAvoidance instead of Boolean.
Removed
MarkerCollectionRenderSettings.pointsTextSize
MapCamera: getTopographyAltitudeMeters, setCameraPositionAboveTopography, setCameraBoundingBoxCentered
[7.1.22.18.90A12C26] - 2022-05-04
Added
-
Class:
ObjectLaneDetector,ObjectLaneDetectorOutput,MapViewRoutesCollection,RouteRenderSettings,MapViewRoute -
Enum:
ERouteRenderOptions -
Enum Value:
EFrameFit.ZoomFillEEngineType.ImageProcessingEExecutionType.CPU_GPU -
Method:
MapScene.getDefScenePath.getCoordinatesAtPercentSettingsService.flushNavigationListener.onTraveledRouteTrackTrimmedPositionData.produceMockPositionDatasource:isMockData,setMockDataMapViewListener:onCursorSelectionUpdatedPath,onCursorSelectionUpdatedMapSceneObjectMapView:scroll,flingMapCamera:setCameraBoundingBoxCentered,setCameraRelativeToTarget,generatePositionAndOrientationRelativeToTarget,setCameraRelativeToCenteredTarget,generatePositionAndOrientationRelativeToCenteredTarget,setCameraTargetCentered,generatePositionAndOrientationTargetCentered,setCameraOrientation,setCameraPositionAboveTopography,getTopographyAltitudeMeters,setCameraPosition,generatePositionAndOrientationWithHeading,generatePositionAndOrientationRecorder.isAudioRecordingRgba.isLight -
Method params:
SenseDataSource.addListeneraddedpreferencesas optionalGemSdk.initSdkWithDefaultsadded:timer,internalPath,externalPath,language,languageTts,savePolicy,listener,appVariant,useApiExceptions,logger,breakpadCallbackpostoMapSceneObject.produce -
Members:
MapView.cursorSelectionSceneObjectMapSceneObject.scaleFactor,MapSceneObject.maxScaleFactor,NavigationInstruction.routeTrackSdkSettings.isMapDataReady,CameraConfiguration.rotation,Rgba.lumaMapScene:scaleFactor,maxScaleFactorCameraData.orientation
Changed
Default save policy had been changed to UseBothPreferInternal instead of UseBothPreferExternal
CanvasBufferRenderer.updateImage's orientation input type is now EOrientationType
CameraData.rotation had been renamed to orientation with data type : EOrientationType
OffboardListener related EStatus, EReason had been renamed to EOffboardListenerStatus, EOffboardListenerReason
NativeRefObj renamed to GemNativeObj
SdkList renamed to GemList
SdkLog renamed to GemLog
UtilGemImages renamed to GemUtilImages
SdkHandler renamed to GemSdkHandler
SdkUtil renamed to GemUtil
SdkMap renamed to GemMap
SdkCall renamed to GemCall
MapViewPreferences.routes will now return MapViewRoutesCollection
MarkerCollectionDisplaySettings renamed to MarkerCollectionRenderSettings
OverlayDisplaySettings renamed to OverlayRenderSettings
Renamed SenseDataSource.get/setConfiguration to get/setPreferences.
Renamed ConfigKey to ESConfigKey
Renamed ESConfigKey.key* to ESConfigKey.*
Refactored EFrameFit's values.
Removed
ECameraStateExtraData
MapCamera: restoreCameraState/saveCameraState's extraData param
CanvasBufferRenderer.updateCameraData's rotation input param
ENavigationStatus.WaitingData
RoutesCollection: getLabel, setLabel, getImages, setImages, hideLabel
RoutesCollection.add input param : label, image
CameraData.rotation
[7.1.22.8.567F8EF8] - 2022-02-21
Added
-
Enum:
EFollowPositionMapRotationModeERouteTypeEWheelchairAccessibleEBikesAllowed -
Enum member:
ESdkCapabilities:Timezone,Sound,ProjectionEHighlightOptions.Bubble -
Class member:
FollowPositionPreferences.mapRotationModeIOpenGLContext.textureScaleFactorFollowPositionPreferences.accuracyCircleVisible -
Method:
FollowPositionPreferences:setMapRotationMode,isTrackObjectFollowingMapRotationOverlayItem:getPreviewData,hasPreviewExtendedData,getPreviewExtendedData,cancelGetPreviewExtendedData,RouteTrafficEventTrafficEvent:getPreviewData,cancelGetPreviewData -
Method param:
startStamp: TimetoLogUploaderListener.onLogStatusChangedalbumName: StringtoRecorderBookmarks.exportLog
Changed
Renamed RecorderConfiguration.diskSpaceLimit to diskSpaceLimitMb
Renamed SensorDelay to ESensorDelay
Renamed StringIds to EStringIds
Replaced IOpenGLContext.fontScaleFactor with IOpenGLContext.fontModifiers
Removed
-
Class member:
MapServiceExtensions.gpsAccuracyCircleEnabled -
Method:
MapViewPreferences.toggle2DWithAltitude
Fixed
- TTS not playing while navigating.
[7.1.22.6.6BACA322] - 2022-02-08
Added
-
Class:
SceneObjectData -
Methods:
MapView.getHighlightAreaMapView.getOptimalHighlightCenterViewport -
Enum values to
ESdkCapabilities:Content,Dashcam,Weather,Vrp,Sense,Places.
Changed
LandmarkStoreService.createLandmarkStore return type to Pair<LandmarkStore?, ErrorCode>
EExtendedDataType is deprecated now. EExtendedDataType renamed to EPreviewDataType
MapViewPreferences.getMapViewPerspective is used as member MapViewPreferences.mapViewPerspective
MapViewPreferences.getViewAngle is used as member MapViewPreferences.viewAngle
MapViewPreferences.getTiltAngle is used as member MapViewPreferences.tiltAngle
MapViewPreferences.followPositionWithRoutePreferences renamed to followPositionPreferences
-
Moved following from
MapViewPreferencestoFollowPositionPreferences:followPositionCameraFocus,setFollowPositionTouchHandlerModifyLimits,getFollowPositionTouchHandlerExitAllow,getFollowPositionTouchHandlerModifyHorizontalAngleLimits,getFollowPositionTouchHandlerModifyVerticalAngleLimits,getFollowPositionTouchHandlerModifyDistanceLimitsHighlightRenderSettings.iconSzis deprecated now.iconSzrenamed toimageSizeMapView.getZoomLevelis used as memberMapView.zoomLevelMapView.getSlippyZoomLevelis used as memberMapView.slippyZoomLevelRenamed enum
SceneObjectFileFormattoESceneObjectFileFormatMapSceneObject.produce..is based now on aSceneObjectDatainstead ofDataBufferand its format.MapSceneObject.customizeDefPositionTracker's input toSceneObjectDataListMapSceneObject.producePositionTrackerreturn type toPair<MapSceneObject?, ErrorCode>
Removed
enum ECameraFollowMode
FollowPositionPreferences's default constructor.
param mode: ECameraFollowMode from: MapViewPreferences.setMapViewPerspective and from get.
param mode: ECameraFollowMode from: MapViewPreferences.setViewAngle and from get.
param mode: ECameraFollowMode from: MapViewPreferences.setTiltAngle and from get.
param mode: ECameraFollowMode from: MapView.setZoomLevel, MapView.setSlippyZoomLevel, and from corresponding getters.
field MapView.cameraFollowMode
method MapView.cursorSelectionRouteInstruction
Library dependency: com.google.android.gms:play-services-location
[7.1.22.2.417AD833] - 2022-01-11
Added
-
Class:
ImprovedPositionData -
Enum:
GemSdk.ESdkCapabilities -
Member:
ConfigKey.kKeyImprovedPositionUpdateFreqConfigKey.kKeyImprovedPositionDefTransportModeOverlayItem.categoryIdGemSdk.capabilitiesGemError.MissingCapabilityEViewOnlineServiceType.External
Changed
PositionService.addListener and PositionService.position is using ImprovedPosition by default instead of direct sensor Position.
AddressInfo.format allows null inputs as default.
Fixed
GemGlSurfaceCallback zoom in/out in default map view not pan around anymore.
AddressInfo.format works properly now.
[7.1.21.50.7E1BDC39] - 2021-12-16
Added
-
Class:
GemSurfaceContainerAdapterFollowPositionPreferences -
Enum:
ELandmarkFileFormatAcclerationData.EUnitOfMeasurement -
Method:
BasicShapeDrawer.createTexturewith image paramMapView.getOptimalRoutesCenterViewportLandmarkStore:importLandmarksBuffer,importLandmarks,cancelImportLandmarks,startFastUpdateMode,stopFastUpdateMode,isFastUpdateModeImage.produceWithPathRoutePreferences:isAutomaticTimestamp,setIsAutomaticTimestampEnumHelper.fromOrdinalMapViewListenerandMapView's lambdas : onHoveredMapLabelHighlightedLandmark,onHoveredMapLabelHighlightedOverlayItem,onHoveredMapLabelHighlightedTrafficEvent,MapView.highlightHoveredMapLabel -
Member:
AccelerationData.unitMapView.cursorSelectionPath -
Auto fetch offline maps from assets. See RouteSimulationOffline example.
Changed
BasicShapeDrawer.renderShapes nullable params
RectF: center and dimensions to Float types.
GemGlSurfaceCallback renamed to GemGlSurfaceAdapter
PermissionsHelper is singleton now. See PermissionsHelper.instance
Removed
Member : LandmarkStore.fastUpdateMode
Android Auto direct dependency. End user have to match min sdk requirements for android auto dependency when implementing.
[7.1.21.46.DA24169E] - 2021-11-15
Added
-
Class:
ElectricBikeProfile -
Fields:
RoutePreferences:eBikeProfile,defaultEBikeProfileAbstractGeometryImage.aspectRatio,Image.aspectRatioGemGlSurfaceCallback:onVisibleAreaChanged,visibleAreaMapViewPreferences:mapDetailsQualityLevel -
Method:
MapViewPreferences:isMapSceneObjectVisible,setMapSceneObjectVisibilityTruckProfile: constructor with param.GeographicArea.convert -
Method Params:
RoutePreferences.setBikeProfileaddedeProfile: ElectricBikeProfile -
Enum:
EEBikeType,EMapDetailsQualityLevel -
EnumValue:
ERouteType.Economic
Changed
-
TruckProfile.weightrenamed toTruckProfile.mass. -
GemGlSurfaceCallbackis available only in minApi 23 SDK.
Removed
GlSurfaceHolderAdapter is internal now.
Fixed
- Startup crash on Android 8 or lower devices.
[7.1.21.43.0A164E49] - 2021-10-30
Added
-
Class :
BrakeDetectorTrafficSignDetectorClassifiedObject -
Enum:
EClassificationFilter -
Member:
NativeRefObj.addressSocialReportsOverlayCategory:uid,overlayUid,name,imageIBitmap:width,heightDetectedObject.classifiedObjectObjectDetector.classificationFilterRgba.argbValue,Rgba.bgraValueMapCamera.position,MapCamera.orientationTrafficSignClassifier.classificationTimeBrakeClassifier.classificationTimeObjectDetector.detectionTimeLaneDetector.detectionTimeLandmark.extraImageMapDetails.isoCodeForCurrentPosition -
Method:
SocialReportsOverlayCategory.hasSubcategories()SdkSettings.setAllowConnection(value: Boolean)LogUploaderListenerconstructor(postOnMain: Boolean = false)NavigationListener.createAlarmListener.createMapView:produceandproduceByContextwithoutlistener: MapViewListenerSocialOverlayItemListener.createLogUploaderListener.createRoadSafetyAlertsListener.createLandmarkStoreListener.onLandmarkStoreRegisteredSdkCall.executewithmaxWaitMsDataSource.addListenerwith array oufEDataTypeTrafficSignClassifier.classifyListTrafficSignClassifier.getOutputObjectDetector.updateClassificationFilterBrakeClassifier.classifyListBrakeClassifier.getOutputRgba: constructor withColor,swapRedBlue,asColorMapViewPreferences.setDrawFPSSearchPreferences.removeAllCategoryFiltersMapView.invalidateOverlayService:enableOverlayOfflineDataGrabber,disableOverlayOfflineDataGrabber,isOverlayOfflineDataGrabberEnabled,isOverlayOfflineDataGrabberSupportedMapViewPreferences.getDrawFPS -
Param:
autoInitLiveDataSourcetoGemSdk.initSdkWithDefaultsrecttoTrafficSignClassifier.classifyrecttoBrakeClassifier.classifypostLambdasOnMaintoMapView.produce,MapView.produceByContextallowChargeNetwork, roadMapAutoUpdateListenertoSdkSettings.setAllowMapUpdateaddresstoNativeRefObj.releaseonStartedto :RoutingService.calculateRoutemethodscriticaltoTrafficSignClassifier.produce,ObjectDetector.produce,LaneDetector.produce,BrakeClassifier.producecompletionCallbacktoRecorderBookmarks.exportLog
Changed
SdkErroris now considered asIntinstead of enum.MainSceneObjectsrenamed toEMainSceneObjectsNNEngineTyperenamed toEEngineTypeNNExecutionTyperenamed toEExecutionTypeTrafficSignClassifier.detectrenamed toclassifyBrakeClassifier.detectrenamed toclassifyEExtraInfo.AttachedTrainstationrenamed to EExtraInfo.AttachedTrainStationOffboardListener.onOnlineWorldMapSupportDisabledrenamed toonWorldwideRoadMapSupportDisabledOffboardListener.onOnlineWorldMapSupportEnabledrenamed toonWorldwideRoadMapSupportEnabledOffboardListener.onOnlineWorldMapSupportStatusrenamed toonWorldwideRoadMapSupportStatusOffboardListener.onWorldMapVersionUpdatedrenamed toonWorldwideRoadMapVersionUpdatedOffboardListener.onOnlineWorldMapUnsupportedCapabilitiesrenamed toonWorldwideRoadMapUnsupportedCapabilitiesDataSourceListener.onNewData'sSenseDataparam replaced withEDataTypeSdkError.ResourcesMissingrenamed toSdkError.ResourceMissingSdkError.getDescriptionTextrenamed togetMessageSdkErrorrenamed toGemErrorRoadSafetyAlerts.setWindshieldLateralDisplacementrenamed tosetCameraLateralDisplacementSize,SizeF,Xy,XyF,Tuple4d,Tuple3d,Rect,RectFRoutePreferences.routeResultTypeused as member instead of method.NavigationListener.canPlayNavigationSoundused as member instead of method.SocialOverlay.prepareReportingparam reorder.ImageDatabase.importreplacedStringparam withdata: DataBuffer, format: EImageFileFormatImageDatabase.removereplacedImageparam withimageId: Int
Removed
CameraConfiguration.autoFocusEnabledELandmarkStoreType.LastEGlobalLandmarkCategory.Base,EGlobalLandmarkCategory.LastEContactInfoFieldType.LastCanvas.isViewEMapProviderId.LastGemSurfaceView:getGlContext,getScreen,getDefaultMapViewEContentType.First,EContentType.LastMapView.defaultMapViewListener()SocialOverlayItemListenerconstructor with lambdaLogUploaderListenerconstructors with paramsScreen.fps
Fixed
SearchServicenot clearing category filters before any search is made.TextStatenot allocating object.
[7.1.21.38.70F93E78] - 2021-09-20
Added
-
enum
ETrackingModeUpdateRequest,ECameraStateExtraData -
Member:
MapSceneObject.visibilityPTRoute.polygonGeographicAreaRoute.polygonGeographicAreaLandmarkBrowseSession.settings -
Param:
removeLmkContenttoLandmarkStore.removeCategorybreakpadCallbacktoGemSdk.initialize -
Method:
MapViewListener:onEnterManuallyAdjustedFollowingPosition,onExitManuallyAdjustedFollowingPositionMapView:restoreFollowingPosition,isFollowingPositionTouchHandlerModifiedMapSceneObject:getDefPositionTracker,customizeDefPositionTrackerMapScene.getDefSceneIBitmap:produce,produceBgr888,produceAlpha8LaneDetector.computeAccuracyTrafficSignClassifier.computeAccuracyBrakeClassifier.computeAccuracyRect.pointInRectangleRectF.pointInRectangleMapViewPreferences:setFollowPositionTouchHandlerModifyLimits,getFollowPositionTouchHandlerExitAllow,getFollowPositionTouchHandlerModifyHorizontalAngleLimits,getFollowPositionTouchHandlerModifyVerticalAngleLimits,getFollowPositionTouchHandlerModifyDistanceLimitsLandmarkStoreListener:onLandmarksUpdated,onLandmarksRemovedLandmarkStore:removeAllLandmarks,setLandmarkCategory,getLandmarksByAreaMapCamera:saveCameraState,restoreCameraStateImageDatabase.getTrafficSignImage
Changed
SceneObjectFileFormat's values.
ETrafficSignType's values.
MapSceneObject.produce methods require lists of DataBuffer and formats instead of one of each.
LandmarkStore.createLandmarkBrowseSession input params
Preset member images of ImageDatabse are now static. (tollImage, ferryImage, greenBallImage, yellowBallImage, redBallImage)
-
Renamed method:
MapViewListener:onEnterManuallyAdjustedFollowingPositiontoonEnterTouchHandlerModifyFollowingPositionMapViewListener:onExitManuallyAdjustedFollowingPositiontoonExitTouchHandlerModifyFollowingPosition -
Renamed class:
SdkIconstoSdkImagesSdkImages.Other_EnginetoSdkImages.Engine_Misc
Removed
-
classes:
Bitmap,AdjustableBitmap -
member:
MapView.followingPositionDisplayMode -
enum :
EPositionDisplay -
method:
AbstractGeometryImage.renderIntoImage.produceWithPathLandmarkStore:removeLandmarkFromCategory,removeLandmarkFromAllCategories, -
Param:
blendfromImage.render,AbstractGeometryImage.render,AbstractGeometryImage.renderArrow,RoadInfoImage.render,LaneImage.render -
enum value:
ETrafficSignType.All,EBrakeType.All,EObjectType.All
[Unreleased] - 2021-09-01
Added
-
class
MapSceneObject -
enum
MainSceneObjects -
Method:
PathCollection.clearRect.center,Rect.dimensions. Same for RectF.Screen.needsRenderMapServiceExtensions.getHighlightGroupItemIndexMapView.deactivateAllHighlightsMarker.setCoordinatesMarkerCollectionDisplaySettings.setPointMarkerLabelExtractorRoute.getDominantRoads,PTRoute.getDominantRoadsCanvasBufferRenderer.updateCameraData,CanvasBufferRenderer.updateImage -
Property:
MarkerCollectionDisplaySettings.pointsTextSizeCoordinates.sceneObject -
Method input param:
SocialOverlay.report: addedcategoryIdhighlightIdtoMapView.activateHighlightLandmarks,MapView.activateOverlayItemsHighlight,MapView.deactivateHighlightMapView.startFollowingPosition:navArrow,trackMethodMapView.followPosition:navArrow,trackMethodparentSceneObjecttoCoordinates's constructor,Coordinates.assignValues
Changed
-
Method inputParam:
SocialOverlay.prepareReportingWithCoordinates,SocialOverlay.prepareReporting: removed dryRun -
Renamed class
ViewCustomizationtoMapServiceExtensions -
Renamed
MapView.customizationtoMapView.extensions -
EasyAccess:
object.getMemberchanged toobject.memberfor easy access. -
EasyAccess:
object.setMember(value)changed toobject.member = valuefor easy access.
Removed:
-
Method:
Image.renderWithMask,AbstractGeometryImage.renderWithMaskMapServiceExtensions.setCursorTextureCanvasBufferRenderer.uploadFrame
[Unreleased] - 2021-08-09
Added
-
Enum Value:
EValueType.ListValue -
Method:
Parameter:key,valueListSocialOverlay:getReportSnapshot,prepareReportingWithCoordinates,prepareReporting,report,confirmReport,denyReport,updateReport,deleteReport,addCommentSocialReportsOverlayCategory:parameters,Time.getTimeZoneMillisecondsTimeCanvasBufferRenderer:frameFit,scaleFactor,translateFactorBasicShapeDrawer:createTexturewith image asByteArraySize.isEmpty,SizeF.isEmptyGemSdk.produceDefaultLiveDataSourceSdkCall.lock,SdkCall.unlock -
Method input param:
BasicShapeDrawer.renderShapes:translationFactor: XyF?,scaleFactor: XyF?SocialOverlay.cancel:listener: ProgressListenerGemSdk.initialize:autoInitLiveDataSource: Boolean = false -
Method output param: In
NavigationServiceadded SdkError as Int forstartNavigationWithRoute,startSimulation,startSimulationWithRoute -
Class:
SocialUsersOverlayInfo,LaneDetector,LaneDetectorOutput,TrafficSignClassifierOutput,TrafficSignClassifier,Obstacle,CalibrationConfiguration,RoadSafetyAlertsListener,InitializationConfiguration,RoadSafetyAlerts,BrakeClassifierOutput,BrakeClassifier
Changed
-
Renaming:
SocialReportsOverlayCategory:getCountrytocountry,getSubcategoriestosubcategoriesSocialOverlay:getReportsOverlayInfotoreportsOverlayInfo,getUsersOverlayInfotousersOverlayInfo,registerIMarkerListenertoregisterOverlayItemListener,unregisterIMarkerListenertounregisterOverlayItemListener
Removed
SocialReportsOverlayCategory:getValidity,getImpactRadius
[7.1.21.30.F7B1DCD6] - 2021-07-27
Added
-
Class:
SocialReportsOverlayCategorySocialReportsOverlayInfo -
Methods:
Rect.toRectFfor fast conversionRectF.toRectfor fast conversionRectangleGeographicArea.setwith coords, horizontal and vertical radiusMarkerCollectionDisplaySettings.polylineInnerSizeandMarkerCollectionDisplaySettings.polylineOuterSizeOverlayCategory.subcategoriesandOverlayCategory.hasSubcategoriesOverlayInfo.getCategoryandOverlayInfo.hasCategoriesSocialOverlay.getReportsOverlayInfoSocialOverlay.getUsersOverlayInfoStatic in
Time:daysFromMilliseconds,hoursFromMilliseconds,minutesFromMilliseconds,secondsFromMilliseconds -
Method Param:
categoryIdforOverlayService:enableOverlay,disableOverlay,isOverlayEnabled
Changed
- Method Param:
In
OverlayMutableCollection:add,addByCategory,remove,removeByCategory,contains,containsByCategory. Only the overlayId is required instead of whole object.
[7.1.21.29.5996E8AB] - 2021-07-21
Added
-
Class:
BasicShapeDrawerfor drawing basic things over GemSurfaceView. -
Methods:
GemSurfaceView.onDrawFrameCustomfor custom gl drawing support. -
Other: More predefined colors as static in
Rgba
Changed
-
object.getMemberchanged toobject.memberfor easy access. -
object.setMember(value)changed toobject.member = valuefor easy access. -
Renamed:
Util.getPhonePathrenamed toUtil.getAppDirInternalPathUtil.getSdCardPathrenamed toUtil.getAppFilesDirExternalPath
Removed
ISOCodeobject replaced withString.
[7.1.21.27.F0A8520E] - 2021-07-08
Added
-
Enum values:
ERoutingAlgoModifiers.DisableFallbacks -
Methods:
Screen.getFPSGuidedAddressSearchPreferences.setAllowFuzzyResultsGuidedAddressSearchPreferences.getAllowFuzzyResultsSearchPreferences.setAllowFuzzyResultsSearchPreferences.getAllowFuzzyResults
Changed
-
EBuildingsVisibility's values
-
SteepSection.getCategrenamed toSteepSection.getCategory -
SteepSection.setCategrenamed toSteepSection.setCategory
[7.1.21.26.568B4C80] - 2021-07-02
Added
-
Shortcuts:
PositionListenercan be used directly with a lambda instead of extend and override its methods.LogUploaderListenercan be used directly with a lambda instead of extend and override its methods.SocialOverlayItemListenercan be used directly with a lambda instead of extend and override its methods.MapViewPreferences.landmarkStorescan be called instead ofMapViewPreferences.lmksSearchPreferences.landmarkStorescan be called instead ofSearchPreferences.lmksAlarmService.landmarkStorescan be called instead ofAlarmService.lmksContentUpdater.getContentTypereturns enum type. getContentTypeInt returns only an intConstructor with nullable params for
DetectorConfigurationConstructor with nullable params for
DetectedObjectConstructor with nullable params for
AbstractGeometryImageRenderSettingsConstructor with params for
ProxyDetails -
Class:
SizeFAdjustableBitmapIAdjustableBitmapLaneImageRenderSettings -
Methods:
MapView.setEdgeAreaInsetsGemSurfaceView.hadBeenInitializedGemSurfaceView.hadBeenReleasedAbstractGeometryImage.renderWithMaskRoadInfoImage.renderLaneImage.renderContentUpdater.isStarted -
Input parameter:
isMapReadyforSdkSettings.onMapDataReadydisplayModeforMapView.presentRoute(s)edgeAreaInsetsforMapView.presentRoute(s) -
Other:
EMapExtendedCapability.HighPrecisionBuildingsapp:autoReleaseOnDetachedFromWindow attribute to GemSurfaceView for preventing auto release when onDetachedFromWindow is triggered.
Changed
-
Renamed:
TimerListenerrenamed toITimerListenerCanvas.isViewtoCanvas.isMapView
Removed
-
Input param:
type: EDirectBufferTypeaway fromCanvasBufferRenderer.uploadFrame
[7.1.21.25.51BBEB8E] - 2021-06-24
Added
-
Shortcuts:
mapView.defaultMapViewListenerlambdas can be set directly inmapView. E.g.:mapView.onRenderinstead ofmapView.defaultMapViewListener.onRender.When providing null Coordinates for
SearchService.searchAroundPositionit will use current position instead. -
Helper methods:
AlarmService.startAlarmForOverlay(s)AlarmService.stopAlarmForOverlay(s)MapView.presentPathMapView.displayPathsOverlayService.getOverlaysByIdwith inputs:ECommonOverlayIdandonCompletedAnimation constructor with lambdas.
-
Classes:
OverlayMutableCollectionOverlayDisplaySettingsMapViewOverlayCollection -
Enums:
IOpenGLContext.EOutputBufferTypeECameraFollowMode -
Input parameter:
zoomLevelforMapView.presentRoute(s)modeforMapViewPreferences:setMapViewPerspective,getMapViewPerspective,getViewAngle,setViewAngle,getTiltAngle,setTiltAnglemodeforMapView:setZoomLevel,setSlippyZoomLevel,getZoomLevel,getSlippyZoomLevelrestoreCameraModeforMapView.stopFollowingPosition -
Methods:
IOpenGLContext.getOutputBufferTypeDataBuffer.emptyContentStoreItem.setProgressListenerOverlayService.getAvailableOverlaysonly withonCompletedtrigger as input.OverlayMutableCollection.getOverlayByUidwith enum type input.OverlayMutableCollection.addwithArrayList<OverlayInfo>input.OverlayMutableCollection.removewithArrayList<OverlayInfo>input.SdkSettings.isMapDataReadyMapView.getCameraFollowMode
Changed
-
Method signature:
AlarmService:external fun overlays(): ArrayList<OverlayInfo>?toexternal fun overlays(): OverlayMutableCollection?MapViewPreferences:external fun overlays(): ArrayList<OverlayInfo>?toexternal fun overlays(): MapViewOverlayCollection?MapView.setZoomLevelallows nullxyinput.MapView.setSlippyZoomLevelallows nullxyinput.
Removed
-
Methods:
MapViewPreferences:enableMapRenderingFeature,isMapRenderingFeatureEnabled,setMapRenderingFeaturePosition,setMapRenderingFeatureRect,getMapRenderingFeatureRect
Fixed
- Issue regarding
SdkSettingswhen releasing the sdk then recreate it again. - Touch events not triggered.
[7.1.21.24.F957BE25] - 2021-06-15
Added
-
Easy searching methods for
SearchService. -
Methods: in
MapDetails:getCountryNameByIndex,getCountryImageByIndex,getCountryIsoByIndex. -
Methods:
Route.getInstructions -
Methods:
ContentStore.checkForUpdate,OffboardListener.onAvailableContentUpdate -
Methods:
MapView.presentRoutes,MapView.hideRoutes -
Methods: in
ImageDatabase:getTollImage,getFerryImage,getGreenBallImage -
Enum:
EGenericCategoriesIDsand afferent methods inGenericCategories -
Methods:
getCurrentPosition,getCurrentImprovedPosition -
Interface:
INetworkListener -
Methods:
MapView.defaultMapViewListenerif no listener was provided when view had been created. -
SDK token can also be passed through
GemSurfaceView's constructor or through surface's xml tag:app:sdkToken="YOUR_TOKEN" -
Methods:
ContentStore's methods related toEContentType. -
Methods: produce for
Path. -
Methods: in
MapViewListener:onEnterFollowingPosition,onExitFollowingPosition,onCursorSelectionUpdatedLandmarks,onCursorSelectionUpdatedOverlayItemsonCursorSelectionUpdatedTrafficEvents,onCursorSelectionUpdatedRoutes,onCursorSelectionUpdatedMarkerMatch -
ContentStore.asyncGetStoreContentwill return the list on complete trigger (OnContentStoreAsyncCompleted) -
Methods:
ContentStoreItem.asyncDownloadwith lambdaonStarted,onProgressandonCompleted. -
Methods: in
SearchPreferences:addCategoriesFilter,removeCategoriesFilterfor fast adding category filters. -
Methods: produce for
Image. -
Default animation for
MapViewcenter on or follow position methods. -
Landmarkconstructor with name, latitude, longitude for fast writing. -
Methods:
NavigationService.startNavigationonly with destinationLandmark. -
Methods:
RoutingService.calculateRouteonly with destinationLandmark. -
Methods:
Path.toLandmarkto avoid usingRouteBookmarks.setWaypointTrackDataas conversion. -
Methods:
MapView.display,MapView.hidePath -
Methods:
Rgba.red,Rgba.green,Rgba.blue -
Methods:
PTRouteInstruction.isCommon,RouteInstruction.isCommon -
Methods:
PTRouteSegment.isCommon,RouteSegment.isCommon -
RouteSegment.isPublicTransportSegmentwhich is an alias forRouteSegment.isCommon -
Methods:
PTRouteSegment.isStationWalk -
Methods: Easy search in current visible area on a map. see
SearchService -
Category filters can be passed directly to
SearchServicemethods. -
MapView.transformScreenToWgsListAreaallows null input. -
Methods:
DataBufferconstructor with ByteBuffer input. -
Methods:
MapView.activateHighlightmethod only for an element. -
MarkerCollectionDisplaySettingsbuilder constructor, all inputs are null by default. -
Methods:
Marker.add,Marker.updatewith latitude and longitude for fast writing. -
Methods:
PositionService.getImprovedPosition
Changed
ETurnInfoType,ETurnType,ETurnWaypointTypemerged intoETurnEventMarkerCollection.getGroupHeadMarkerrenamed toMarkerCollection.getPointsGroupHeadMarkerCollectionDisplaySettings.groupingMaxZoomLevelrenamed topointsGroupingZoomLevelMarkerCollectionDisplaySettings.lowDensityGroupImagerenamed toMarkerCollectionDisplaySettings.lowDensityPointsGroupImageMarkerCollectionDisplaySettings.mediumDensityGroupImagerenamed toMarkerCollectionDisplaySettings.mediumDensityPointsGroupImageRoute.exportGPXrenamed toRoute.exportAsEPathImportFormatrenamed toEPathFileFormat- Parameters order for:
NavigationService.startSimulation RouteBookmarks's memberssetWaypointTrackData,getWaypointTrackData,waypointHasTrackData,reverseWaypointTrackData,setWaypointTrackDepartureAndDestinationmoved as statistics since they are helper methods.- Renamed
EAnimation.AnimationLineartoEAnimation.Linear. Same for rest of members. - Removed method input parameter for
PositionService.getPosition.
Removed
TurnDetails.getInfoTypeERouteSegmentTypePTRouteInstruction/RouteInstruction.getInstructionTypePTRouteSegment/RouteSegment.getSegmentTypeRouteSegment.isSignificant
[7.1.21.22.98275CBE] - 2021-06-02
Added
GemSdk.initWithDefaults(context, token). Token is optional. Initializes the Sdk in a easy to use manner by providing default: Timer Service, Application Paths, Language, Network Provider. Also if the token is not provided it will finally attempt to retrieve it fromAndroidManifest.xmlas seen in examples before. Initializes theDefaultSoundSession- Ease of use constructors for :
SearchService,RoutingService. Allows user to provide directly onStarted and onCompleted lambdas. ProgressListener.onComplete's reason code is now directly aSdkErrorinstead of Int.GemSurfaceViewwill initGemSdkif not already initialized by callingGemSdk.initWithDefaults- By default
GemSurfaceViewwill create aMapView. To disable this please use the attributeapp:createDefaultMapView="false" - Exposed access to the default
MapViewcreated by theGemSurfaceView. seegetDefaultMapView(),releaseDefaultMapView() GemSdk.releaseis called by default onSdkCall.execute{ }
[7.1.21.18.0D3FDE9D] - 2021-05-06
Added
- Method:
PositionData.isValid - Methods:
PermissionHelper:hasPermission,hasPermissions,requestPermissions,onRequestPermissionsResult
Removed
- Enums:
EApiCustomer,EApiProduct,EApiHosting,EApiFlavor - Class:
AppVariant
Fixed
- Bad method name:
getTruckProfile(value)tosetTruckProfile(value)
[7.1.21.17.B6FA7F67] - 2021-04-26
Added
- Enum value:
EContentUpdaterStatus.CheckForUpdate. - Method:
CommonSettings.setLanguageAsString. - Value:
FeatureIds.MapDebugDetalisFeatureId. - Methods:
MapView.getNorthFixedFlag,MapView.setNorthFixedFlag. - Methods:
MapViewPreferences.getsetRotationAngle,MapViewPreferences.setRotationAngle. - Method:
MapViewPreferences.setMapStyleByDataBuffer. - Method:
MapViewPreferences.setMapStyleByContentStoreItem. - Method:
MapViewMarkerCollections.removeCollection. - Class:
OverlayCategory. - Method:
OverlayInfo.getCategories. - Class:
TruckProfile. - Methods:
RoutePreferences.getsetTruckProfile,RoutePreferences.setTruckProfile - EnumValues:
EDataInterruptionReason:AudioDeviceInUseByAnotherClient,VideoDeviceInUseByAnotherClient
Changed
- Renamed class
MapServicetoMapView. - Renamed class
MapServiceConfigurationtoMapSceneConfiguration. - Renamed class
MapServiceConfigurationListenertoMapSceneConfigurationListener. - Renamed
EImagePixelFormat.UNKNOWNtoEImagePixelFormat.Unknown. - Renamed enum value:
EAnimation.FlytoEAnimation.AnimationLinear.
[7.1.21.15.B5218653] - 2021-04-14
Added
- Method:
ProgressListener.createbased on provided lambdas - Method:
CommonSettings.setDefaultNetworkProvider
Changed
CommonSettingsis object now instead of class- No longer need to manually create the
DefaultNetworkManager. UseCommonSettings.setDefaultNetworkProvidermethod instead. - Renamed
d3scene.GemMapSurfacetocore.GemSurfaceView. - Simplified APIS for:
SearchService,RoutingService,SocialOverlay,CommonSettings,ContentStore,GuidedAddressSearchService.
[7.1.21.14.7762644] - 2021-04-05
Added
- Param:
GemSdk.initializeneeds ISO3 language string and TTS language string or use defaults. - Method:
MapView.transformScreenToWgsListArea. - Method:
SdkCall.postAsyncandSdkCall.postSync. - Method:
Screen.getOpenGLContext. - Method:
GemSdk.getAppVariant. - Enum Value:
EMapExtendedCapability.TrimmedHeader
Changed
- Renamed class
VectorItemtoMarker. - Renamed class
VectorDataSourcetoMarkerCollection. - Renamed class
VectorMatchtoMarkerMatch. - Renamed class
VectorDataSourceCollectiontoMapViewMarkerCollections. - Renamed class
VectorItemCustomRenderDatatoMarkerCustomRenderData. - Renamed class
VectorDataSourceDisplaySettingstoMarkerCollectionDisplaySettings. - Renamed enum
EVectorDataTypetoEMarkerType - Renamed enum
EVectorMatchTypetoEMarkerMatchType - Renamed package
routingandnavigationtoroutesandnavigation. - Renamed package
searchingtoplaces. - Renamed package
datasourcetosensordatasource. - Renamed method
SignpostImageRenderSettings.setBorderSizePxtoSignpostImageRenderSettings.setBorderSize, analog forget - Renamed enum
EEntranceLocationsTypetoEEntranceLocationType - Renamed method
LandmarkStoresCollection.getCategoriesCounttoLandmarkStoresCollection.getCategoryCount. - Renamed method
LandmarkBrowseSession.getLandmarksCounttoLandmarkBrowseSession.getLandmarkCount. - Renamed method
LandmarkStore.getLandmarkStoreIdtoLandmarkStore.getId. - Renamed method
LandmarkStore.getLandmarkStoreTypetoLandmarkStore.getType. - Renamed method
LandmarkStore.getLandmarkStoreNametoLandmarkStore.getName. - Renamed method
MapView.activateMarkersHighlighttoMapView.activateOverlayItemsHighlight. - Renamed method
MapView.cursorSelectionMarkerstoMapView.cursorSelectionOverlayItems. - Renamed method
MapServiceConfiguration.setMapServiceConfigurationListenertoMapServiceConfiguration.setListener. - Renamed method
MapServiceConfiguration.loadConfigurationtoMapServiceConfiguration.load. - Renamed method
MapServiceConfiguration.saveConfigurationtoMapServiceConfiguration.save. - Renamed method
MapViewPreferences.markerstoMapViewPreferences.overlays. - Reorganized classes in the new packages.
Fixed
- Android plays iOS recorded Log and vice versa.
[7.1.21.10.A60EFE2C] - 2021-03-11
Added
ApiCallLogger.onUseSytemLoggingCanvas.getViewportFGemSdk.getDataSavePolicyandGemSdk.setDataSavePolicyGeographicArea.makeIntersection andGeographicArea.makeUnion`MarkerOverlaysService.enableOverlay,MarkerOverlaysService.disableOverlayandMarkerOverlaysService.isOverlayEnabledRecorderConfiguration.deviceModeland set for it.SdkListofLandmarkPositionandMarkerPosition.SocialOverlay.searchAroundPOIAndReports,searchAround,searchAlongRoute,searchReportsForPOIs,refreshReportsTime.getLocalTimeandTime.getUniversalTime
Changed
Animation.getMethodrenamed toAnimation.getTypeAnimation.getFlyrenamed toAnimation.getFlyType
[7.1.21.10.39CEC079] - 2021-03-09
Added
- constructor to
GemMapSurface AlarmListenerinsideCityAreaflag for:onHighSpeed,onNormalSpeed,onSpeedLimit- default implementation for:
NetworkManager,NetworkProvider,TimerService
Removed
AlarmListener.onLowSpeedAlarmService.setHighSpeedThresholdandAlarmService.getHighSpeedThresholdAlarmService.setLowSpeedThresholdandAlarmService.getLowSpeedThreshold
Fixed
- Dealloc of SDK, surface.
[7.1.21.8.95555709] - 2021-02-26
Added
- Added missing doc
isReferencemethod toNativeRefObj. Will tell if a certain object is Ref or not.
Changed
- Renamed all enums starting with T* to E*. ex:
TRouteTypetoERouteType - Renamed some non upper camel case classes to met upper camel case
- Sdk packages
Removed
- Duplicate classes that hold Ref. ex:
RouteInstructionRefmerged intoRouteInstruction.
Fixed
- Map not working well when put in fragment
- Crash due to bad handling of
gem::ApiRef<T>
[7.1.21.8.ECCB3B03] - 2021-02-22
Added
- Param:
CanvasBufferRenderer.uploadFrameaddedbufferType:EDirectBufferType
Changed
- Renamed class:
ViewtoMapView - Renamed class:
ViewListenertoMapViewListener - Renamed class:
CameratoMapCamera - Renamed class:
ViewPreferencesReftoMapViewPreferencesRef - Renamed class:
ScenetoMapScene - Renamed method:
GuidedAddressSearchService.cancelRequesttoGuidedAddressSearchService.cancelSearch - Renamed method:
SearchPreferences.maxMatchestoSearchPreferences.getMaxMatches
[7.1.21.6.3S80B91A] - 2021-02-12
Added
- new enum:
TViewCameraTransitionStatus - new param:
ViewListener.onViewRendered,camStatus: TViewCameraTransitionStatus - new method:
ViewListener.onMarkerItemRender - new methods:
RectangleGeographicArea: intersects, contains, setIntersection, setUnion - new method:
ViewPreferencesRef.vectors - new param:
Recorder.addUserData,dataTypeIdentifier: Long - constructor:
MarkerCollection MountInformationDataandEDataType.MountInformation
Changed
TPositionDisplay's values changed fromEPosition*toEPD_*TRouteDisplayMode's values changed fromERouteDisplay*toERDI_*TPathImportFormat's values changed fromE*toEPI_*- renamed:
TViewTransitionStatustoTViewDataTransitionStatus - renamed:
TTransportModetoTRouteTransportMode - renamed:
TResultDetailstoTRouteResultDetails - renamed:
TAlternativesSchematoTRouteAlternativesSchema - renamed:
TPathAlgorithmtoTRoutePathAlgorithm - renamed:
TSortOrdertoTRouteBookmarksSortOrder - renamed:
DataSourceListener.onDataInterruptiontoDataSourceListener.onDataInterruptionEventand added paramended: Boolean
Removed
- method:
TRgba.defaultColor - param:
MarkerCollection.add's paramname: String - method:
OrientationData.isMountedForCameraUse - methods:
ViewListener:onMarkerRender,onMarkerItemRender
[7.1.21.3.E776B859] - 2021-01-18
Added
- Weather Service. See
Weather.kt TimeDistanceCoordinatestructureMarkermethods:getId,getPartCount,delPart,getPartAreaand part param to add, del, update, getCoordinatesSenseData.getTimemethodOrientationData.isMountedForCameraUsemethodRouteBase.getTimeDistanceCoordinatesmethodTSoundMarkstructure andLogMetadata.getSoundMarksLogMetadata.getLogSizemethodView.cursorSelectionVectorsandView.isCameraMovingmethodsTExtraInfoenum andLandmark.getExtraInfomethod based on enum.Debug.getAllWeatherConditions andDebug.getResourceUpdaterTransferStats` methods
Changed
- All timestamps are now expressed in Long UTC milliseconds instead of Double seconds.
- Some return types or input params are not
ArrayList<Abc>they are nowAbcList. TPathAlgorithm.EPA_Osrmchanged intoTPathAlgorithm.EPA_ExternalCH.- Renamed
SenseData.getTimestamptoSenseData.getAcquisitionTimestamp.
Removed
ERecorderStatus.Saving.TWgsRectanglestructure.MarkerOverlayInfoRef.getNearbyInfoUrl.RectangleGeographicArea.set(value: TWgsRectangle).
[7.1.20.51.E4F23422] - 2020-12-23
Added
LogMetadata.produce.TProxyDetails.
Changed
TRecorderConfiguration.recordingAudiorenamed toTRecorderConfiguration.enableAudio.Recorder.setAudioMutedsplit intoRecorder.startAudioRecorder,Recorder.stopAudioRecorder.NetworkListener.onConnectDidFinishedandNetworkListener.onConnectFinishedsignature.DataSource.addListenersignature.
Removed
DataSource.startNotifyCameraBuffers,DataSource.stopNotifyCameraBuffers.
Fixed
- Crash when using
PTRouteInstructionRef.
[7.1.20.51.BD965DE6] - 2020-12-16
Added
CanvasListener:onPointerDown,onPointerMove,onPointerUp,onPinchSwipe.TCameraConfiguration, get/set for:focalLength,physicalSensorWidth,physicalSensorHeight.TMarkerMatchType.EVMT_CoordinateGroup.TMarkerCollectionDisplaySettings.MarkerCollection.getArea.TTSLocalization.FeatureIds.TTS_LOCALIZATION_FEATURE_ID.
Changed
CanvasListener's onRotate signature.
[7.1.20.50.9977856E] - 2020-12-09
Added
DataSource:getConfigurationandsetConfiguration(dataType).DataSource: configuration param to addListener, default null.TRecorderConfiguration:keepMinimumSeconds,diskSpaceLimit,recordingAudioand setters.Recorder:setKeepMinimumSeconds,setDiskSpaceLimit,getConfiguration,setChunkDurationInSeconds,setMinimumBatteryPercent,setContinuousRecording.TLandmarkBrowseSessionSettings:coordinatesandsetCoordinates.Playback:step.
Changed
TRecorderConfiguration: renamedtempDirtologsDir.
[7.1.20.48.F5AF9EE2] - 2020-11-23
Added
BatteryData.EPluggedType.BatteryData.getLowBatteryNoticed.BatteryData.getPluggedType.BatteryData.getVoltage.BatteryData.getTemperature.PositionData.getLocationTime.TLandmarkBrowseSessionSettingsobject.TLandmarkOrderenum.
Changed
ActivityData.EType.BatteryData.EState.BatteryData.EHealth.CompassData.EAccuracy.Unreliablerenamed toUnknown.- return type of
startNotifyCameraBuffers. createLandmarkBrowseSessioninput param.- renamed camera frame's field
recordedAngletorotationAngle. - merged
EVideoQuality,ResolutionsandCameraResolutionsenums intoEResolution.
[7.1.20.47.F1A369D1] - 2020-11-16
Added
PermissionsHelperandPermissionsListener.LandmarkStoreListener.onBrowseSessionInvalidated.DataSource.startNotifyCameraBuffers.DataSource.stopNotifyCameraBuffers.SenseDataSource enum EPlayingStatus.DataSourceListener.onPlayingStatusChanged.
Changed
LandmarkStore's methods:registerBrowseSession,unregisterBrowseSession,getBrowseSessionLandmarksCount,getBrowseSessionLandmarksmerged intoLandmarkBrowseSessionobject.
Fixed
- Recorded video's orientation for external players like VLC.
Removed
DataSource.getLastUpdateTimestamp.ViewPreferences.enableAutomaticZooming.ViewPreferences.isAutomaticZoomingEnabled.
Issues
DataSourcePause/Resume might go into deadlock.
[7.1.20.44.4215D8A2] - 2020-11-1
Added
CommonSettings.verifyAppAuthorization.
Fixed
Datasource'sgetPlayback()not returning null.
[7.1.20.44.4FA0F84F] - 2020-10-26
Added
RecorderBookmarks.markLogProtected.TRecorderConfiguration.continuousRecording.MarkerCollectionCollectionRef.indexOf.MarkerMatch.getItemIndex.MarkerCollection.indexOf.RouteBookmarks.getFilePath.EnumHelpto cast easier an int to a specific enum type.- Added
TFrameFitenum and used intoCanvasBufferRenderer. recordedAngleinTCameraConfiguration.PermissionsHelperto notify when permissions status has been changed.
Changed
GEMSdkrenamed "mmc" naming to "sdcard".RecorderBookmarks"saved logs" renamed to "protected logs".- Input parameters of
RouteBookmarks.Produce. EVideoQualityenum values.RecorderListenerreplaced withProgressListener.TEncoding,EPixelFormat,ImageFormatall replaced withEImagePixelFormat.
Removed
Recorder.saveRecordingTRecorderConfiguration.loopRecordingSecondsLandmarkStoreService.getGenericCategoriesLandmarkStoreId- Removed buffer type from
CameraData.getDirectBuffer.
Fixed
- Crash when releasing
CanvasBufferRenderer. - Bluish image when recording/play video log.
- Video rotation when playing a log.
- Bad
TCameraConfigurationwhen playing a log.
[Unreleased]
- [7.1.20.43.693001B4]: Update demo apps for SDK v7.1.20.43.693001B4
- [7.1.20.42.AF307B1F]: Update demo apps for SDK v7.1.20.42.AF307B1F
- [7.1.20.41.37C8C713]: Update demo apps for SDK v7.1.20.41.37C8C713
- [7.1.20.40.76465CE8]: Update demo apps for SDK v7.1.20.40.76465CE8
- [7.1.20.39.5E1A0550]: Initial release