Skip to main content
GuidesAPI ReferenceExamples

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.


[1.5.4] - [7.1.25.8.85E3F991] - 2025-02-18

Fixed

  • Fixed NavigationService.getTurnId64() output for waypoints turns (the waypoint side was wrongly reported)

[1.5.3] - [7.1.25.6.A8D23EF5] - 2025-02-06

Added

  • Added SoundPlayingService.setDefaultHumanVoice() and ITTSPlayerInitializationListener.onTTSPlayerInitializationFailed() methods
  • Added ESConfigKeys.Position.ImprovedPosPreferRouteSnap property

[1.5.2] - [7.1.25.4.8359B06D] - 2025-01-23

Changed

  • Improved resume in route over track navigation

[1.5.1] - [7.1.25.3.9ED2450F] - 2025-01-15

Fixed

  • Fixed crash when computing a bike route

[1.5.0] - [7.1.25.2.0C32661A] - 2025-01-08

Added

  • Added ElectricBikeProfile.refSpeed, ElectricBikeProfile.ignoreLegalRestrictions properties

Fixed

  • Fix regarding roundabout turn image
  • Fixed issues regarding AddressInfo usage

[1.4.0] - [7.1.24.46.2F7651F2] - 2024-11-14

Fixed

  • Fix regarding SDK log size
  • Fixes regarding PositionData : ImprovedPositionData, AccelearationData, RotationData, CameraData objects construction on ARM32 devices

Changed

  • Replaced default GPS arrow
  • Improved navigation on a GPX route

[1.3.0] - [7.1.24.43.11923D7B] - 2024-10-25

Added

  • Added MapView.startTrackPositions(), MapView.getTrackedPositions(), MapView.isTrackedPositions() and MapView.stopTrackPositions() methods

Changed

  • Bug fixing and improvements

[1.2.2] - [7.1.24.39.F5DE2589] - 2024-09-25

Changed

  • Update consumer proguard file of the SDK

[1.2.1] - [7.1.24.37.74598F2D] - 2024-09-10

Added

  • Added a consumer proguard file to the SDK. In this case the optimisation will apply when minify with R8 is enabled in client app’s build settings

[1.2.0] - [7.1.24.35.050EFEB7] - 2024-08-29

Added

  • New ways to construct CircleGeographicArea and Marker objects

Changed

  • Refactor Weather class

[1.1.0] - [7.1.24.34.A27F8A0A] - 2024-08-20

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] - [7.1.24.30.FB70C514] - 2024-07-24

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.mapCitiesLandmarkStoreId property, GemUtil.getFormattedWaypointName method
  • Added save(), load(), sketches(), isSketches() methods to MapViewMarkerCollections class. Added MarkerSketches class
  • 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.pairFormatLandmarkDetails output for situations in which the input landmark is a city / settlement
  • Fixes regarding missing MapViewListener.onReady() notification, onDefaultMapViewCreated() notification for GemOffscreenSurfaceView, 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) became RoutePreferences.setEmergencyVehicleMode(value: Boolean, extraFreedom: Int = 0)

[7.1.24.16.F295FF8E] - 2024-04-16

Added

  • Added ShowUserImage to ERouteRenderOptions enum
  • 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) and NavigationService.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.touchHandlerModifyPersistent property
  • Added support for reading map styles from assets
  • Added MapViewPreferences.mapLabelsFading property
  • Added EVCarModel class, RoutingService.evCarModels property

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) became PersistentRoadblockListener.onRoadblocksExpired(list: TrafficEventList), PersistentRoadblockListener.onRoadblockActivated(eventId: Int) became PersistentRoadblockListener.onRoadblocksActivated(list: TrafficEventList)

[7.1.23.41.63AB0887] - 2023-10-13

Added

  • Added RouteRenderSettings.lineType property
  • Added GPXThumbnailImage example
  • Added routeRenderSettings parameter to MapView.presentRoute()

Removed

  • Removed zoomLevel parameter from MapView.presentRoute() and MapView.presentRoutes()

[7.1.23.41.CD21BBB5] - 2023-10-11

Added

  • Added GemOffscreenSurfaceView class (for rendering the map inside an offscreen view)
  • Added onStatusChanged lambda to RoutingService (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, EmergencyServicesSupport and CivilEmergencyInfrastructure to EGenericCategoriesIDs enum

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 GLCall object (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 RouteSimulationWithoutMap example

Changed

  • MagicADASListener.onVehicleData(timestamp: Long, headway: Float, distance: Float) became MagicADASListener.onVehicleData(timestamp: Long, vehicle: Obstacle)

Fixed

  • Fixed crash inside SetTTSLanguage example

[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 center parameter to CanvasListener.onPinch() method

Removed

  • Removed CanvasListener.onRotate() method

[7.1.23.13.68D7B4E1] - 2023-03-30

Added

  • Added FollowPositionPreferences.setViewAngle(angle, animated) method
  • Added Inertial to PositionData.EFixQuality enum (this fixes reported crash regarding PositionData.fixQuality usage)

[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 allowOnline parameter to GemSdk.initSdkWithDefaults() method

Changed

  • Renamed SenseDataSource.getLastData() to SenseDataSource.getLatestData()
  • Renamed package aidashcam to adas
  • Moved Recorder from package sensordatasource to new dashcam package
  • Renamed RoadSafetyAlerts to MagicADAS , RoadSafetyAlertsListener to MagicADASListener

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 postLambdasOnMain parameter to GemSurfaceView constructor
  • Support for saving / restoring map state inside surface view, for situations in which surface is recreated
  • New onMapAngleUpdated API method to MapViewListener class

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 viewAngle parameter for MapView.centerOnRouteInstruction(), MapView.centerOnRouteTrafficEvent() methods
  • New initial parameter for MapView.shove() method

Changed

  • Refactored AI Dash Cam CalibrationConfiguration class (some members disappeared, others have been renamed)
  • Fixed crash regarding Coordinates object 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 onInitSdk lambda to GemSurfaceView class that allows user to perform a custom SDK initialization (see above)
  • Added sdkToken attribute to GemSurfaceView class (the user can now specify SDK token inside layout xml, as an attribute of GemSurfaceView element)
  • Added SendDebugInfo, SpeedTTSWarning, BLEServer, BLEClient examples

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)
}
  • PositionService is now an object. Fixed DriverBehavior and VoiceInstrRouteSimulation examples
  • Fixed crash regarding search operation
  • Improved Favourites example behavior
  • Fixed turn appearance inside RouteSimulationWithInstructions example
  • Refactored LocationWikipedia, MapGestures, MapPerspectiveChange, MultipleSurfacesInFragment, MultipleSurfacesInFragmentRecycler examples

[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.trafficVisibility
    • ERouteRenderOptions.ShowHighlights
    • MarkerCollectionRenderSettings : labelingMode, labelTextColor, labelTextSize, labelGroupTextColor, labelGroupTextSize, imageSize
    • TruckProfile.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.ZoomFill
    • EEngineType.ImageProcessing
    • EExecutionType.CPU_GPU
  • Method:
    • MapScene.getDefScene
    • Path.getCoordinatesAtPercent
    • SettingsService.flush
    • NavigationListener.onTraveledRouteTrackTrimmed
    • PositionData.produceMockPosition
    • Datasource : isMockData , setMockData
    • MapViewListener : onCursorSelectionUpdatedPath , onCursorSelectionUpdatedMapSceneObject
    • MapView : scroll , fling
    • MapCamera : setCameraBoundingBoxCentered, setCameraRelativeToTarget, generatePositionAndOrientationRelativeToTarget, setCameraRelativeToCenteredTarget, generatePositionAndOrientationRelativeToCenteredTarget, setCameraTargetCentered, generatePositionAndOrientationTargetCentered, setCameraOrientation, setCameraPositionAboveTopography, getTopographyAltitudeMeters, setCameraPosition, generatePositionAndOrientationWithHeading, generatePositionAndOrientation
    • Recorder.isAudioRecording
    • Rgba.isLight
  • Method params: SenseDataSource.addListener added preferences as optional
    • GemSdk.initSdkWithDefaults added: timer, internalPath, externalPath, language, languageTts, savePolicy, listener, appVariant, useApiExceptions, logger, breakpadCallback
    • pos to MapSceneObject.produce
  • Members:
    • MapView.cursorSelectionSceneObject
    • MapSceneObject.scaleFactor, MapSceneObject.maxScaleFactor, NavigationInstruction.routeTrack
    • SdkSettings.isMapDataReady, CameraConfiguration.rotation, Rgba.luma
    • MapScene : scaleFactor, maxScaleFactor
    • CameraData.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:
    • EFollowPositionMapRotationMode
    • ERouteType
    • EWheelchairAccessible
    • EBikesAllowed
  • Enum member:
    • ESdkCapabilities : Timezone, Sound, Projection
    • EHighlightOptions.Bubble
  • Class member:
    • FollowPositionPreferences.mapRotationMode
    • IOpenGLContext.textureScaleFactor
    • FollowPositionPreferences.accuracyCircleVisible
  • Method:
    • FollowPositionPreferences : setMapRotationMode, isTrackObjectFollowingMapRotation
    • OverlayItem : getPreviewData, hasPreviewExtendedData, getPreviewExtendedData, cancelGetPreviewExtendedData, RouteTrafficEvent
    • TrafficEvent : getPreviewData, cancelGetPreviewData
  • Method param:
    • startStamp: Time to LogUploaderListener.onLogStatusChanged
    • albumName: String to RecorderBookmarks.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.getHighlightArea
    • MapView.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 MapViewPreferences to FollowPositionPreferences :
    • followPositionCameraFocus,
    • setFollowPositionTouchHandlerModifyLimits,
    • getFollowPositionTouchHandlerExitAllow,
    • getFollowPositionTouchHandlerModifyHorizontalAngleLimits,
    • getFollowPositionTouchHandlerModifyVerticalAngleLimits,
    • getFollowPositionTouchHandlerModifyDistanceLimits
  • HighlightRenderSettings.iconSz is deprecated now. iconSz renamed to imageSize
  • MapView.getZoomLevel is used as member MapView.zoomLevel
  • MapView.getSlippyZoomLevel is used as member MapView.slippyZoomLevel
  • Renamed enum SceneObjectFileFormat to ESceneObjectFileFormat
  • MapSceneObject.produce is based now on a SceneObjectData instead of DataBuffer and its format.
  • MapSceneObject.customizeDefPositionTracker’s input to SceneObjectDataList
  • MapSceneObject.producePositionTracker return type to Pair<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.kKeyImprovedPositionUpdateFreq
    • ConfigKey.kKeyImprovedPositionDefTransportMode
    • OverlayItem.categoryId
    • GemSdk.capabilities
    • GemError.MissingCapability
    • EViewOnlineServiceType.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:
    • GemSurfaceContainerAdapter
    • FollowPositionPreferences
  • Enum:
    • ELandmarkFileFormat
    • AcclerationData.EUnitOfMeasurement
  • Method:
    • BasicShapeDrawer.createTexture with image param
    • MapView.getOptimalRoutesCenterViewport
    • LandmarkStore: importLandmarksBuffer, importLandmarks, cancelImportLandmarks, startFastUpdateMode, stopFastUpdateMode, isFastUpdateMode
    • Image.produceWithPath
    • RoutePreferences : isAutomaticTimestamp, setIsAutomaticTimestamp
    • EnumHelper.fromOrdinal
    • MapViewListener and MapView’s lambdas: onHoveredMapLabelHighlightedLandmark, onHoveredMapLabelHighlightedOverlayItem, onHoveredMapLabelHighlightedTrafficEvent , MapView.highlightHoveredMapLabel
  • Member:
    • AccelerationData.unit
    • MapView.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, defaultEBikeProfile
    • AbstractGeometryImage.aspectRatio, Image.aspectRatio
    • GemGlSurfaceCallback: onVisibleAreaChanged, visibleArea
    • MapViewPreferences: mapDetailsQualityLevel
  • Method:
    • MapViewPreferences: isMapSceneObjectVisible, setMapSceneObjectVisibility
    • TruckProfile: constructor with param.
    • GeographicArea.convert
  • Method Params: RoutePreferences.setBikeProfile added eProfile: ElectricBikeProfile
  • Enum: EEBikeType , EMapDetailsQualityLevel
  • EnumValue: ERouteType.Economic

Changed

  • TruckProfile.weight renamed to TruckProfile.mass.
  • GemGlSurfaceCallback is 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:
    • BrakeDetector
    • TrafficSignDetector
    • ClassifiedObject Enum: EClassificationFilter
  • Member:
    • NativeRefObj.address
    • SocialReportsOverlayCategory : uid , overlayUid , name , image
    • IBitmap : width , height
    • DetectedObject.classifiedObject
    • ObjectDetector.classificationFilter
    • Rgba.argbValue , Rgba.bgraValue
    • MapCamera.position , MapCamera.orientation
    • TrafficSignClassifier.classificationTime
    • BrakeClassifier.classificationTime
    • ObjectDetector.detectionTime
    • LaneDetector.detectionTime
    • Landmark.extraImage
    • MapDetails.isoCodeForCurrentPosition
  • Method:
    • SocialReportsOverlayCategory.hasSubcategories()
    • SdkSettings.setAllowConnection(value: Boolean)
    • LogUploaderListener constructor( postOnMain: Boolean = false )
    • NavigationListener.create
    • AlarmListener.create
  • MapView : produce and produceByContext without listener: MapViewListener
    • SocialOverlayItemListener.create
    • LogUploaderListener.create
    • RoadSafetyAlertsListener.create
    • LandmarkStoreListener.onLandmarkStoreRegistered
    • SdkCall.execute with maxWaitMs
    • DataSource.addListener with array ouf EDataType
    • TrafficSignClassifier.classifyList
    • TrafficSignClassifier.getOutput
    • ObjectDetector.updateClassificationFilter
    • BrakeClassifier.classifyList
    • BrakeClassifier.getOutput
    • Rgba : constructor with Color , swapRedBlue , asColor
    • MapViewPreferences.setDrawFPS
    • SearchPreferences.removeAllCategoryFilters
    • MapView.invalidate
    • OverlayService : enableOverlayOfflineDataGrabber , disableOverlayOfflineDataGrabber , isOverlayOfflineDataGrabberEnabled , isOverlayOfflineDataGrabberSupported
    • MapViewPreferences.getDrawFPS
  • Param:
    • autoInitLiveDataSource to GemSdk.initSdkWithDefaults
    • rect to TrafficSignClassifier.classify
    • rect to BrakeClassifier.classify
    • postLambdasOnMain to MapView.produce , MapView.produceByContext
    • allowChargeNetwork, roadMapAutoUpdateListener to SdkSettings.setAllowMapUpdate
    • address to NativeRefObj.release
    • onStarted to : RoutingService.calculateRoute methods
    • critical to TrafficSignClassifier.produce , ObjectDetector.produce , LaneDetector.produce , BrakeClassifier.produce
    • completionCallback to RecorderBookmarks.exportLog

Changed

  • SdkError is now considered as Int instead of enum.
  • MainSceneObjects renamed to EMainSceneObjects
  • NNEngineType renamed to EEngineType
  • NNExecutionType renamed to EExecutionType
  • TrafficSignClassifier.detect renamed to classify
  • BrakeClassifier.detect renamed to classify
  • EExtraInfo.AttachedTrainstation renamed to EExtraInfo.AttachedTrainStation
  • OffboardListener.onOnlineWorldMapSupportDisabled renamed to onWorldwideRoadMapSupportDisabled
  • OffboardListener.onOnlineWorldMapSupportEnabled renamed to onWorldwideRoadMapSupportEnabled
  • OffboardListener.onOnlineWorldMapSupportStatus renamed to onWorldwideRoadMapSupportStatus
  • OffboardListener.onWorldMapVersionUpdated renamed to onWorldwideRoadMapVersionUpdated
  • OffboardListener.onOnlineWorldMapUnsupportedCapabilities renamed to onWorldwideRoadMapUnsupportedCapabilities
  • DataSourceListener.onNewData’s SenseData param replaced with EDataType
  • SdkError.ResourcesMissing renamed to SdkError.ResourceMissing
  • SdkError.getDescriptionText renamed to getMessage
  • SdkError renamed to GemError
  • RoadSafetyAlerts.setWindshieldLateralDisplacement renamed to setCameraLateralDisplacement
  • Size, SizeF, Xy, XyF, Tuple4d, Tuple3d, Rect, RectF
  • RoutePreferences.routeResultType used as member instead of method.
  • NavigationListener.canPlayNavigationSound used as member instead of method.
  • SocialOverlay.prepareReporting param reorder.
  • ImageDatabase.import replaced String param with data: DataBuffer, format: EImageFileFormat
  • ImageDatabase.remove replaced Image param with imageId: Int

Removed

  • CameraConfiguration.autoFocusEnabled
  • ELandmarkStoreType.Last
  • EGlobalLandmarkCategory.Base, EGlobalLandmarkCategory.Last
  • EContactInfoFieldType.Last
  • Canvas.isView
  • EMapProviderId.Last
  • GemSurfaceView : getGlContext, getScreen, getDefaultMapView
  • EContentType.First, EContentType.Last
  • MapView.defaultMapViewListener()
  • SocialOverlayItemListener constructor with lambda
  • LogUploaderListener constructors with params
  • Screen.fps

Fixed

  • SearchService not clearing category filters before any search is made.
  • TextState not allocating object.

[7.1.21.38.70F93E78] - 2021-09-20

Added

  • Enum ETrackingModeUpdateRequest, ECameraStateExtraData
  • Member:
    • MapSceneObject.visibility
    • PTRoute.polygonGeographicArea
    • Route.polygonGeographicArea
    • LandmarkBrowseSession.settings
  • Param:
    • removeLmkContent to LandmarkStore.removeCategory
    • breakpadCallback to GemSdk.initialize
  • Method:
    • MapViewListener: onEnterManuallyAdjustedFollowingPosition, onExitManuallyAdjustedFollowingPosition
    • MapView: restoreFollowingPosition, isFollowingPositionTouchHandlerModified
    • MapSceneObject: getDefPositionTracker, customizeDefPositionTracker
    • MapScene.getDefScene
    • IBitmap: produce, produceBgr888, produceAlpha8
    • LaneDetector.computeAccuracy
    • TrafficSignClassifier.computeAccuracy
    • BrakeClassifier.computeAccuracy
    • Rect.pointInRectangle
    • RectF.pointInRectangle
    • MapViewPreferences: setFollowPositionTouchHandlerModifyLimits, getFollowPositionTouchHandlerExitAllow, getFollowPositionTouchHandlerModifyHorizontalAngleLimits, getFollowPositionTouchHandlerModifyVerticalAngleLimits, getFollowPositionTouchHandlerModifyDistanceLimits
    • LandmarkStoreListener: onLandmarksUpdated, onLandmarksRemoved
    • LandmarkStore: removeAllLandmarks, setLandmarkCategory, getLandmarksByArea
    • MapCamera: saveCameraState, restoreCameraState
    • ImageDatabase.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 : onEnterManuallyAdjustedFollowingPosition to onEnterTouchHandlerModifyFollowingPosition
    • MapViewListener : onExitManuallyAdjustedFollowingPosition to onExitTouchHandlerModifyFollowingPosition
  • Renamed class:
    • SdkIcons to SdkImages
    • SdkImages.Other_Engine to SdkImages.Engine_Misc

Removed

  • Classes: Bitmap, AdjustableBitmap
  • Member: MapView.followingPositionDisplayMode
  • Enum : EPositionDisplay
  • Method:
    • AbstractGeometryImage.renderInto
    • Image.produceWithPath
    • LandmarkStore : removeLandmarkFromCategory , removeLandmarkFromAllCategories
  • Param: blend from Image.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.clear
    • Rect.center, Rect.dimensions. Same for RectF.
    • Screen.needsRender
    • MapServiceExtensions.getHighlightGroupItemIndex
    • MapView.deactivateAllHighlights
    • Marker.setCoordinates
    • MarkerCollectionDisplaySettings.setPointMarkerLabelExtractor
    • Route.getDominantRoads, PTRoute.getDominantRoads
    • CanvasBufferRenderer.updateCameraData, CanvasBufferRenderer.updateImage
  • Property:
    • MarkerCollectionDisplaySettings.pointsTextSize
    • Coordinates.sceneObject
  • Method input param:
    • SocialOverlay.report: added categoryId
    • highlightId to MapView.activateHighlightLandmarks, MapView.activateOverlayItemsHighlight, MapView.deactivateHighlight
    • MapView.startFollowingPosition: navArrow, trackMethod
    • MapView.followPosition: navArrow, trackMethod
    • parentSceneObject to Coordinates’s constructor, Coordinates.assignValues

Changed

  • Method inputParam: SocialOverlay.prepareReportingWithCoordinates, SocialOverlay.prepareReporting: removed dryRun
  • Renamed class ViewCustomization to MapServiceExtensions
  • Renamed MapView.customization to MapView.extensions
  • EasyAccess: object.getMember changed to object.member for easy access.
  • EasyAccess: object.setMember(value) changed to object.member = value for easy access.

Removed:

  • Method:
    • Image.renderWithMask, AbstractGeometryImage.renderWithMask
    • MapServiceExtensions.setCursorTexture
    • CanvasBufferRenderer.uploadFrame

[Unreleased] - 2021-08-09

Added

  • Enum Value: EValueType.ListValue
  • Method:
    • Parameter: key, valueList
    • SocialOverlay: getReportSnapshot, prepareReportingWithCoordinates, prepareReporting
    • report, confirmReport, denyReport, updateReport, deleteReport, addComment
    • SocialReportsOverlayCategory: parameters
    • Time.getTimeZoneMillisecondsTime
    • CanvasBufferRenderer: frameFit, scaleFactor, translateFactor
    • BasicShapeDrawer : createTexture with image as ByteArray
    • Size.isEmpty, SizeF.isEmpty
    • GemSdk.produceDefaultLiveDataSource
    • SdkCall.lock, SdkCall.unlock
  • Method input param:
    • BasicShapeDrawer.renderShapes: translationFactor: XyF?, scaleFactor: XyF?
    • SocialOverlay.cancel: listener: ProgressListener
    • GemSdk.initialize: autoInitLiveDataSource: Boolean = false
  • Method output param: In NavigationService added SdkError as Int for startNavigationWithRoute, startSimulation, startSimulationWithRoute
  • Class: SocialUsersOverlayInfo, LaneDetector, LaneDetectorOutput, TrafficSignClassifierOutput, TrafficSignClassifier, Obstacle, CalibrationConfiguration, RoadSafetyAlertsListener, InitializationConfiguration, RoadSafetyAlerts, BrakeClassifierOutput, BrakeClassifier

Changed

  • Renaming:
    • SocialReportsOverlayCategory: getCountry to country, getSubcategories to subcategories
    • SocialOverlay: getReportsOverlayInfo to reportsOverlayInfo, getUsersOverlayInfo to usersOverlayInfo, registerIMarkerListener to registerOverlayItemListener, unregisterIMarkerListener to unregisterOverlayItemListener

Removed

  • SocialReportsOverlayCategory : getValidity , getImpactRadius

[7.1.21.30.F7B1DCD6] - 2021-07-27

Added

  • Class:
    • SocialReportsOverlayCategory
    • SocialReportsOverlayInfo
  • Methods:
    • Rect.toRectF for fast conversion
    • RectF.toRect for fast conversion
    • RectangleGeographicArea.set with coords, horizontal and vertical radius
    • MarkerCollectionDisplaySettings.polylineInnerSize and MarkerCollectionDisplaySettings.polylineOuterSize
    • OverlayCategory.subcategories and OverlayCategory.hasSubcategories
    • OverlayInfo.getCategory and OverlayInfo.hasCategories
    • SocialOverlay.getReportsOverlayInfo
    • SocialOverlay.getUsersOverlayInfo
    • Static in Time: daysFromMilliseconds, hoursFromMilliseconds, minutesFromMilliseconds, secondsFromMilliseconds
  • Method Param: categoryId for OverlayService: 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: BasicShapeDrawer for drawing basic things over GemSurfaceView.
  • Methods: GemSurfaceView.onDrawFrameCustom for custom gl drawing support.
  • Other: More predefined colors as static in Rgba

Changed

  • object.getMember changed to object.member for easy access.
  • object.setMember(value) changed to object.member = value for easy access.
  • Renamed:
    • Util.getPhonePath to Util.getAppDirInternalPath
    • Util.getSdCardPath to Util.getAppFilesDirExternalPath

Removed

  • ISOCode object replaced with String.

[7.1.21.27.F0A8520E] - 2021-07-08

Added

  • Enum values:
    • ERoutingAlgoModifiers.DisableFallbacks
  • Methods:
    • Screen.getFPS
    • GuidedAddressSearchPreferences.setAllowFuzzyResults
    • GuidedAddressSearchPreferences.getAllowFuzzyResults
    • SearchPreferences.setAllowFuzzyResults
    • SearchPreferences.getAllowFuzzyResults

Changed

  • EBuildingsVisibility’s values
  • SteepSection.getCateg renamed to SteepSection.getCategory
  • SteepSection.setCateg renamed to SteepSection.setCategory

[7.1.21.26.568B4C80] - 2021-07-02

Added

  • Shortcuts:
    • PositionListener can be used directly with a lambda instead of extend and override its methods.
    • LogUploaderListener can be used directly with a lambda instead of extend and override its methods.
    • SocialOverlayItemListener can be used directly with a lambda instead of extend and override its methods.
    • MapViewPreferences.landmarkStores can be called instead of MapViewPreferences.lmks
    • SearchPreferences.landmarkStores can be called instead of SearchPreferences.lmks
    • AlarmService.landmarkStores can be called instead of AlarmService.lmks
    • ContentUpdater.getContentType returns enum type. getContentTypeInt returns only an int
    • Constructor with nullable params for DetectorConfiguration
    • Constructor with nullable params for DetectedObject
    • Constructor with nullable params for AbstractGeometryImageRenderSettings
    • Constructor with params for ProxyDetails
  • Class:
    • SizeF
    • AdjustableBitmap
    • IAdjustableBitmap
    • LaneImageRenderSettings
  • Methods:
    • MapView.setEdgeAreaInsets
    • GemSurfaceView.hadBeenInitialized
    • GemSurfaceView.hadBeenReleased
    • AbstractGeometryImage.renderWithMask
    • RoadInfoImage.render
    • LaneImage.render
    • ContentUpdater.isStarted
  • Input parameter:
    • isMapReady for SdkSettings.onMapDataReady
    • displayMode for MapView.presentRoute(s)
    • edgeAreaInsets for MapView.presentRoute(s)
  • Other:
    • EMapExtendedCapability.HighPrecisionBuildings
    • app:autoReleaseOnDetachedFromWindow attribute to GemSurfaceView for preventing auto release when onDetachedFromWindow is triggered.

Changed

  • Renamed:
    • TimerListener renamed to ITimerListener
    • Canvas.isView to Canvas.isMapView

Removed

  • Input param:
    • type: EDirectBufferType away from CanvasBufferRenderer.uploadFrame

[7.1.21.25.51BBEB8E] - 2021-06-24

Added

  • Shortcuts:
    • mapView.defaultMapViewListener lambdas can be set directly in mapView . E.g.: mapView.onRender instead of mapView.defaultMapViewListener.onRender.
    • When providing null Coordinates for SearchService.searchAroundPosition it will use current position instead.
  • Helper methods:
    • AlarmService.startAlarmForOverlay(s)
    • AlarmService.stopAlarmForOverlay(s)
    • MapView.presentPath
    • MapView.displayPaths
    • OverlayService.getOverlaysById with inputs: ECommonOverlayId and onCompleted
    • Animation constructor with lambdas.
  • Classes:
    • OverlayMutableCollection
    • OverlayDisplaySettings
    • MapViewOverlayCollection
  • Enums:
    • IOpenGLContext.EOutputBufferType
    • ECameraFollowMode
  • Input parameter:
    • zoomLevel for MapView.presentRoute(s)
    • mode for MapViewPreferences: setMapViewPerspective, getMapViewPerspective, getViewAngle, setViewAngle, getTiltAngle, setTiltAngle
    • mode for MapView: setZoomLevel, setSlippyZoomLevel, getZoomLevel, getSlippyZoomLevel
    • restoreCameraMode for MapView.stopFollowingPosition
  • Methods:
    • IOpenGLContext.getOutputBufferType
    • DataBuffer.empty
    • ContentStoreItem.setProgressListener
    • OverlayService.getAvailableOverlays only with onCompleted trigger as input.
    • OverlayMutableCollection.getOverlayByUid with enum type input.
    • OverlayMutableCollection.add with ArrayList<OverlayInfo> input.
    • OverlayMutableCollection.remove with ArrayList<OverlayInfo> input.
    • SdkSettings.isMapDataReady
    • MapView.getCameraFollowMode

Changed

  • Method signature:
    • AlarmService : external fun overlays(): ArrayList<OverlayInfo>? to external fun overlays(): OverlayMutableCollection?
    • MapViewPreferences : external fun overlays(): ArrayList<OverlayInfo>? to external fun overlays(): MapViewOverlayCollection?
    • MapView.setZoomLevel allows null xy input.
    • MapView.setSlippyZoomLevel allows null xy input.

Removed

  • Methods:
    • MapViewPreferences: enableMapRenderingFeature, isMapRenderingFeatureEnabled, setMapRenderingFeaturePosition, setMapRenderingFeatureRect, getMapRenderingFeatureRect

Fixed

  • Issue regarding SdkSettings when 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: EGenericCategoriesIDs and afferent methods in GenericCategories
  • Methods: getCurrentPosition, getCurrentImprovedPosition
  • Interface: INetworkListener
  • Methods: MapView.defaultMapViewListener if 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 to EContentType.
  • Methods: produce for Path.
  • Methods: in MapViewListener:
    • onEnterFollowingPosition, onExitFollowingPosition, onCursorSelectionUpdatedLandmarks, onCursorSelectionUpdatedOverlayItems
    • onCursorSelectionUpdatedTrafficEvents, onCursorSelectionUpdatedRoutes, onCursorSelectionUpdatedMarkerMatch
  • ContentStore.asyncGetStoreContent will return the list on complete trigger (OnContentStoreAsyncCompleted)
  • Methods: ContentStoreItem.asyncDownload with lambda onStarted, onProgress and onCompleted.
  • Methods: in SearchPreferences: addCategoriesFilter, removeCategoriesFilter for fast adding category filters.
  • Methods: produce for Image.
  • Default animation for MapView center on or follow position methods.
  • Landmark constructor with name, latitude, longitude for fast writing.
  • Methods: NavigationService.startNavigation only with destination Landmark.
  • Methods: RoutingService.calculateRoute only with destination Landmark.
  • Methods: Path.toLandmark to avoid using RouteBookmarks.setWaypointTrackData as conversion.
  • Methods: MapView.display, MapView.hidePath
  • Methods: Rgba.red, Rgba.green, Rgba.blue
  • Methods: PTRouteInstruction.isCommon, RouteInstruction.isCommon
  • Methods: PTRouteSegment.isCommon, RouteSegment.isCommon
  • RouteSegment.isPublicTransportSegment which is an alias for RouteSegment.isCommon
  • Methods: PTRouteSegment.isStationWalk
  • Methods: Easy search in current visible area on a map. see SearchService
  • Category filters can be passed directly to SearchService methods.
  • MapView.transformScreenToWgsListArea allows null input.
  • Methods: DataBuffer constructor with ByteBuffer input.
  • Methods: MapView.activateHighlight method only for an element.
  • MarkerCollectionDisplaySettings builder constructor, all inputs are null by default.
  • Methods: Marker.add, Marker.update with latitude and longitude for fast writing.
  • Methods: PositionService.getImprovedPosition

Changed

  • ETurnInfoType, ETurnType, ETurnWaypointType merged into ETurnEvent
  • MarkerCollection.getGroupHeadMarker renamed to MarkerCollection.getPointsGroupHead
  • MarkerCollectionDisplaySettings.groupingMaxZoomLevel renamed to pointsGroupingZoomLevel
  • MarkerCollectionDisplaySettings.lowDensityGroupImage renamed to MarkerCollectionDisplaySettings.lowDensityPointsGroupImage
  • MarkerCollectionDisplaySettings.mediumDensityGroupImage renamed to MarkerCollectionDisplaySettings.mediumDensityPointsGroupImage
  • Route.exportGPX renamed to Route.exportAs
  • EPathImportFormat renamed to EPathFileFormat
  • Parameters order for: NavigationService.startSimulation
  • RouteBookmarks’s members setWaypointTrackData, getWaypointTrackData, waypointHasTrackData, reverseWaypointTrackData, setWaypointTrackDepartureAndDestination moved as statistics since they are helper methods.
  • Renamed EAnimation.AnimationLinear to EAnimation.Linear. Same for rest of members.
  • Removed method input parameter for PositionService.getPosition.

Removed

  • TurnDetails.getInfoType
  • ERouteSegmentType
  • PTRouteInstruction/RouteInstruction.getInstructionType
  • PTRouteSegment/RouteSegment.getSegmentType
  • RouteSegment.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 from AndroidManifest.xml as seen in examples before. Initializes the DefaultSoundSession
  • Ease of use constructors for: SearchService, RoutingService. Allows user to provide directly onStarted and onCompleted lambdas.
  • ProgressListener.onComplete’s reason code is now directly a SdkError instead of Int.
  • GemSurfaceView will init GemSdk if not already initialized by calling GemSdk.initWithDefaults
  • By default GemSurfaceView will create a MapView. To disable this please use the attribute app:createDefaultMapView="false"
  • Exposed access to the default MapView created by the GemSurfaceView. see getDefaultMapView() , releaseDefaultMapView()
  • GemSdk.release is called by default on SdkCall.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) to setTruckProfile(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 MapService to MapView.
  • Renamed class MapServiceConfiguration to MapSceneConfiguration.
  • Renamed class MapServiceConfigurationListener to MapSceneConfigurationListener.
  • Renamed EImagePixelFormat.UNKNOWN to EImagePixelFormat.Unknown.
  • Renamed enum value: EAnimation.Fly to EAnimation.AnimationLinear.

[7.1.21.15.B5218653] - 2021-04-14

Added

  • Method: ProgressListener.create based on provided lambdas
  • Method: CommonSettings.setDefaultNetworkProvider

Changed

  • CommonSettings is object now instead of class
  • No longer need to manually create the DefaultNetworkManager. Use CommonSettings.setDefaultNetworkProvider method instead.
  • Renamed d3scene.GemMapSurface to core.GemSurfaceView.
  • Simplified APIS for: SearchService, RoutingService, SocialOverlay, CommonSettings, ContentStore, GuidedAddressSearchService.

[7.1.21.14.7762644] - 2021-04-05

Added

  • Param: GemSdk.initialize needs ISO3 language string and TTS language string or use defaults.
  • Method: MapView.transformScreenToWgsListArea.
  • Method: SdkCall.postAsync and SdkCall.postSync.
  • Method: Screen.getOpenGLContext.
  • Method: GemSdk.getAppVariant.
  • Enum Value: EMapExtendedCapability.TrimmedHeader

Changed

  • Renamed class VectorItem to Marker.
  • Renamed class VectorDataSource to MarkerCollection.
  • Renamed class VectorMatch to MarkerMatch.
  • Renamed class VectorDataSourceCollection to MapViewMarkerCollections.
  • Renamed class VectorItemCustomRenderData to MarkerCustomRenderData.
  • Renamed class VectorDataSourceDisplaySettings to MarkerCollectionDisplaySettings.
  • Renamed enum EVectorDataType to EMarkerType
  • Renamed enum EVectorMatchType to EMarkerMatchType
  • Renamed package routingandnavigation to routesandnavigation.
  • Renamed package searching to places.
  • Renamed package datasource to sensordatasource.
  • Renamed method SignpostImageRenderSettings.setBorderSizePx to SignpostImageRenderSettings.setBorderSize, analog for get
  • Renamed enum EEntranceLocationsType to EEntranceLocationType
  • Renamed method LandmarkStoresCollection.getCategoriesCount to LandmarkStoresCollection.getCategoryCount.
  • Renamed method LandmarkBrowseSession.getLandmarksCount to LandmarkBrowseSession.getLandmarkCount.
  • Renamed method LandmarkStore.getLandmarkStoreId to LandmarkStore.getId.
  • Renamed method LandmarkStore.getLandmarkStoreType to LandmarkStore.getType.
  • Renamed method LandmarkStore.getLandmarkStoreName to LandmarkStore.getName.
  • Renamed method MapView.activateMarkersHighlight to MapView.activateOverlayItemsHighlight.
  • Renamed method MapView.cursorSelectionMarkers to MapView.cursorSelectionOverlayItems.
  • Renamed method MapServiceConfiguration.setMapServiceConfigurationListener to MapServiceConfiguration.setListener.
  • Renamed method MapServiceConfiguration.loadConfiguration to MapServiceConfiguration.load.
  • Renamed method MapServiceConfiguration.saveConfiguration to MapServiceConfiguration.save.
  • Renamed method MapViewPreferences.markers to MapViewPreferences.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.onUseSytemLogging
  • Canvas.getViewportF
  • GemSdk.getDataSavePolicy and GemSdk.setDataSavePolicy
  • GeographicArea.makeIntersection and GeographicArea.makeUnion
  • MarkerOverlaysService.enableOverlay, MarkerOverlaysService.disableOverlay and MarkerOverlaysService.isOverlayEnabled
  • RecorderConfiguration.deviceModel and set for it.
  • SdkList of LandmarkPosition and MarkerPosition.
  • SocialOverlay.searchAroundPOIAndReports, searchAround, searchAlongRoute, searchReportsForPOIs, refreshReports
  • Time.getLocalTime and Time.getUniversalTime

Changed

  • Animation.getMethod renamed to Animation.getType
  • Animation.getFly renamed to Animation.getFlyType

[7.1.21.10.39CEC079] - 2021-03-09

Added

  • constructor to GemMapSurface
  • AlarmListener insideCityArea flag for: onHighSpeed, onNormalSpeed, onSpeedLimit
  • default implementation for: NetworkManager, NetworkProvider, TimerService

Removed

  • AlarmListener.onLowSpeed
  • AlarmService.setHighSpeedThreshold and AlarmService.getHighSpeedThreshold
  • AlarmService.setLowSpeedThreshold and AlarmService.getLowSpeedThreshold

Fixed

  • Dealloc of SDK, surface.

[7.1.21.8.95555709] - 2021-02-26

Added

  • Added missing doc
  • isReference method to NativeRefObj. Will tell if a certain object is Ref or not.

Changed

  • Renamed all enums starting with T* to E*. ex: TRouteType to ERouteType
  • Renamed some non upper camel case classes to met upper camel case
  • Sdk packages

Removed

  • Duplicate classes that hold Ref. ex: RouteInstructionRef merged into RouteInstruction.

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.uploadFrame added bufferType : EDirectBufferType

Changed

  • Renamed class: View to MapView
  • Renamed class: ViewListener to MapViewListener
  • Renamed class: Camera to MapCamera
  • Renamed class: ViewPreferencesRef to MapViewPreferencesRef
  • Renamed class: Scene to MapScene
  • Renamed method: GuidedAddressSearchService.cancelRequest to GuidedAddressSearchService.cancelSearch
  • Renamed method: SearchPreferences.maxMatches to SearchPreferences.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
  • MountInformationData and EDataType.MountInformation

Changed

  • TPositionDisplay’s values changed from EPosition* to EPD_*
  • TRouteDisplayMode’s values changed from ERouteDisplay* to ERDI_*
  • TPathImportFormat’s values changed from E* to EPI_*
  • renamed: TViewTransitionStatus to TViewDataTransitionStatus
  • renamed: TTransportMode to TRouteTransportMode
  • renamed: TResultDetails to TRouteResultDetails
  • renamed: TAlternativesSchema to TRouteAlternativesSchema
  • renamed: TPathAlgorithm to TRoutePathAlgorithm
  • renamed: TSortOrder to TRouteBookmarksSortOrder
  • renamed: DataSourceListener.onDataInterruption to DataSourceListener.onDataInterruptionEvent and added param ended: Boolean

Removed

  • method: TRgba.defaultColor
  • param: MarkerCollection.add’s param name: String
  • method: OrientationData.isMountedForCameraUse
  • methods: ViewListener: onMarkerRender , onMarkerItemRender

[7.1.21.3.E776B859] - 2021-01-18

Added

  • Weather Service. See Weather.kt
  • TimeDistanceCoordinate structure
  • Marker methods: getId, getPartCount, delPart, getPartArea and part param to add, del, update, getCoordinates
  • SenseData.getTime method
  • OrientationData.isMountedForCameraUse method
  • RouteBase.getTimeDistanceCoordinates method
  • TSoundMark structure and LogMetadata.getSoundMarks
  • LogMetadata.getLogSize method
  • View.cursorSelectionVectors and View.isCameraMoving methods
  • TExtraInfo enum and Landmark.getExtraInfo method based on enum.
  • Debug.getAllWeatherConditions and Debug.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 now AbcList.
  • TPathAlgorithm.EPA_Osrm changed into TPathAlgorithm.EPA_ExternalCH .
  • Renamed SenseData.getTimestamp to SenseData.getAcquisitionTimestamp.

Removed

  • ERecorderStatus.Saving.
  • TWgsRectangle structure.
  • MarkerOverlayInfoRef.getNearbyInfoUrl.
  • RectangleGeographicArea.set(value: TWgsRectangle).

[7.1.20.51.E4F23422] - 2020-12-23

Added

  • LogMetadata.produ .
  • TProxyDetails

Changed

  • TRecorderConfiguration.recordingAudio renamed to TRecorderConfiguration.enableAudio.
  • Recorder.setAudioMuted split into Recorder.startAudioRecorder, Recorder.stopAudioRecorder.
  • NetworkListener.onConnectDidFinished and NetworkListener.onConnectFinished signature.
  • DataSource.addListener signature.

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: getConfiguration and setConfiguration(dataType).
  • DataSource: configuration param to addListener, default null.
  • TRecorderConfiguration: keepMinimumSeconds, diskSpaceLimit, recordingAudio and setters.
  • Recorder: setKeepMinimumSeconds, setDiskSpaceLimit, getConfiguration, setChunkDurationInSeconds, setMinimumBatteryPercent, setContinuousRecording.
  • TLandmarkBrowseSessionSettings : coordinates and setCoordinates.
  • Playback : step.

Changed

  • TRecorderConfiguration: renamed tempDir to logsDir.

[7.1.20.48.F5AF9EE2] - 2020-11-23

Added

  • BatteryData.EPluggedType.
  • BatteryData.getLowBatteryNoticed.
  • BatteryData.getPluggedType.
  • BatteryData.getVoltage.
  • BatteryData.getTemperature.
  • PositionData.getLocationTime.
  • TLandmarkBrowseSessionSettings object
  • TLandmarkOrder enum

Changed

  • ActivityData.EType.
  • BatteryData.EState.
  • BatteryData.EHealth.
  • CompassData.EAccuracy.Unreliable renamed to Unknown.
  • return type of startNotifyCameraBuffers.
  • createLandmarkBrowseSession input param.
  • renamed camera frame’s field recordedAngle to rotationAngle.
  • merged EVideoQuality, Resolutions and CameraResolutions enums into EResolution.

[7.1.20.47.F1A369D1] - 2020-11-16

Added

  • PermissionsHelper and PermissionsListener.
  • LandmarkStoreListener.onBrowseSessionInvalidated.
  • DataSource.startNotifyCameraBuffers.
  • DataSource.stopNotifyCameraBuffers.
  • SenseDataSource enum EPlayingStatus.
  • DataSourceListener.onPlayingStatusChanged.

Changed

  • LandmarkStore’s methods: registerBrowseSession, unregisterBrowseSession, getBrowseSessionLandmarksCount, getBrowseSessionLandmarks merged into LandmarkBrowseSession object.

Fixed

  • Recorded video’s orientation for external players like VLC.

Removed

  • DataSource.getLastUpdateTimestamp.
  • ViewPreferences.enableAutomaticZooming.
  • ViewPreferences.isAutomaticZoomingEnabled.

Issues

  • DataSource Pause/Resume might go into deadlock.

[7.1.20.44.4215D8A2] - 2020-11-1

Added

  • CommonSettings.verifyAppAuthorization.

Fixed

  • Datasource’s getPlayback() not returning null.

[7.1.20.44.4FA0F84F] - 2020-10-26

Added

  • RecorderBookmarks.markLogProtected.
  • TRecorderConfiguration.continuousRecording.
  • MarkerCollectionCollectionRef.indexOf.
  • MarkerMatch.getItemIndex.
  • MarkerCollection.indexOf.
  • RouteBookmarks.getFilePath.
  • EnumHelp to cast easier an int to a specific enum type.
  • Added TFrameFit enum and used into CanvasBufferRenderer.
  • recordedAngle in TCameraConfiguration.
  • PermissionsHelper to notify when permissions status has been changed.

Changed

  • GEMSdk renamed “mmc” naming to “sdcard”.
  • RecorderBookmarks “saved logs” renamed to “protected logs”.
  • Input parameters of RouteBookmarks.Produce.
  • EVideoQuality enum values.
  • RecorderListener replaced with ProgressListener.
  • TEncoding, EPixelFormat, ImageFormat all replaced with EImagePixelFormat .

Removed

  • Recorder.saveRecording
  • TRecorderConfiguration.loopRecordingSeconds
  • LandmarkStoreService.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 TCameraConfiguration when 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