- CoreSDK
- Removed
NavigationOptions.StopOptions
data classNavigationOptions.StopOptions.stopWhenArrivedAtDestination: Boolean
moved toNavigationOptions.stopWhenArrivedAtDestination: Boolean
NavigationOptions.StopOptions.stopDistanceThreshold: Float
moved toNavigationOptions.arrivedDistanceThreshold: Float
NavigationOptions(stopNavigationOptions: StopOptions, userPositionThreshold: Float, navigationRecalculationTimeInterval: Long)
changed toNavigationOptions(stopWhenArrivedAtDestination: Boolean, arrivedDistanceThreshold: Float, userPositionThreshold: Float, navigationRecalculationTimeInterval: Long)
- Removed
- CoreSDK: remaining/traveled distance is calculated according to the user's projection constant
- PosSDK(VPS): Use jpg images for VPS by default
- PosSDK(VPS): minInclinationAngle default is 65 degrees
- Plugins
- Gradle 8.7.1 -> 8.7.3
- Core
- RxJava 3.1.9 -> 3.1.10
- Map
- MapLibre 11.5.2 -> 11.6.1
- CoreSDK: handle level change type - incline plane
- MapSDK
- By default it is possible to select only one POI at a time. To enable multiple POIs selection, you have to change
selectionMode
toMULTIPLE
inPointOfInterestManager
. PointOfInterestManager.isSelectionEnabled
changed toisUserSelectionEnabled
- Now this option applies only to the user actions on the map. Programmatically you're still able to select/unselect POIs
MapConstants
properties moved toCoreConstants
:ITINERARY_RECALCULATION_ENABLED
USER_LOCATION_PROJECTION_ON_ITINERARY_ENABLED
OnActiveLevelChangeListener
andOnBuildingFocusChangeListener
merged into oneBuildingManagerListener
:OnActiveLevelChangeListener.onActiveLevelChange(building: Building, level: Level)
changed toBuildingManagerListener.onActiveLevelChanged(building: Building, level: Level)
OnBuildingFocusChangeListener.onBuildingFocusChange(building: Building?)
changed toBuildingManagerListener.onFocusedBuildingChanged(building: Building?)
WemapMapView
changed:fun getWemapMapAsync(callback: (mapView: WemapMapView, map: MapLibreMap, data: MapData) -> Unit)
changed tofun getMapViewAsync(callback: (mapView: WemapMapView, map: MapLibreMap, style: Style, data: MapData) -> Unit)
val pointOfInterestManager
changed type fromPointOfInterestManager
toMapPointOfInterestManager
val navigationManager
changed type fromNavigationManager
toMapNavigationManager
isSelectionEnabled
changed toisUserSelectionEnabled
. Also changed its logic. Previously this property was used to disable all ways to selecting POIs - programmatically and by user clicking on POI on the map. Now this property applies only to user actions - ifisUserSelectionEnabled = false
- user will not be able to select POI, but POI can still be selected programmatically.func startNavigation(origin: Coordinate?, destination: Coordinate, travelMode: TravelMode, options: NavigationOptions, searchOptions: ItinerarySearchOptions, timeout: DispatchTimeInterval) -> Single<Itinerary>
changed tofunc startNavigation(origin: Coordinate?, destination: Coordinate, travelMode: TravelMode, options: NavigationOptions, searchOptions: ItinerarySearchOptions, timeout: DispatchTimeInterval) -> Single<Navigation>
func startNavigation(_ itinerary: Itinerary, options: NavigationOptions, searchOptions: ItinerarySearchOptions) -> Single<Itinerary>
changed tofunc startNavigation(_ itinerary: Itinerary, options: NavigationOptions, searchOptions: ItinerarySearchOptions) -> Single<Navigation>
func stopNavigation() -> Result<Itinerary, NavigationError>
changed tofunc stopNavigation() -> Result<Navigation, Error>
OnWemapMapReadyCallback.onMapLoaded(mapView: WemapMapView, map: MapLibreMap, data: MapData)
changed toOnWemapMapReadyCallback.onMapViewReady(mapView: WemapMapView, map: MapLibreMap, style: Style, data: MapData)
BuildingManager
changed:- removed:
fun addOnBuildingFocusChangeListener(listener: OnBuildingFocusChangeListener)
fun removeOnBuildingFocusChangeListener(listener: OnBuildingFocusChangeListener)
fun addOnActiveLevelChangeListener(listener: OnActiveLevelChangeListener)
fun removeOnActiveLevelChangeListener(listener: OnActiveLevelChangeListener)
- added:
fun addListener(listener: BuildingManagerListener): Boolean
fun removeListener(listener: BuildingManagerListener): Boolean
- removed:
LocationManager
renamed toUserLocationManager
var source: LocationSource
renamed tovar locationSource: LocationSource
- Removed
BuildingData
- Moved from
WemapMapSDK
toWemapCoreSDK
:Category
Tag
UseTags
SimulatorLocationSource
SimulationOptions
Extras
moved toMapData.Extras
PointOfInterestManager
class changed to interfaceIPointOfInterestManager
fun addPointOfInterestManagerListener(listener: PointOfInterestManagerListener)
changed tofun addListener(listener: PointOfInterestManagerListener): Boolean
fun removePointOfInterestManagerListener(listener: PointOfInterestManagerListener)
changed tofun removeListener(listener: PointOfInterestManagerListener): Boolean
PointOfInterestManagerListener
PointOfInterestWithInfo
changed fromPair<PointOfInterest, ItineraryInfo>
toPair<PointOfInterest, ItineraryInfo?>
NavigationManager
class changed to interfaceINavigationManager
fun addNavigationManagerListener(listener: NavigationManagerListener)
changed tofun addListener(listener: NavigationManagerListener): Boolean
fun removeNavigationManagerListener(listener: NavigationManagerListener)
changed tofun removeListener(listener: NavigationManagerListener): Boolean
NavigationManagerListener
fun onArrivedAtDestination(itinerary: Itinerary)
changed tofun onArrivedAtDestination(navigation: Navigation)
fun onNavigationRecalculated(itinerary: Itinerary)
changed tofun onNavigationRecalculated(navigation: Navigation)
fun onNavigationStarted(itinerary: Itinerary)
changed tofun onNavigationStarted(navigation: Navigation)
fun onNavigationStopped(itinerary: Itinerary)
changed tofun onNavigationStopped(navigation: Navigation)
NavigationError
failedToAddItineraryToMap
removedfailedToRemoveItineraryFromMap
renamed tofailedToRemoveNavigation
NavigationOptions
val cameraMode: Int?
removed. You can usemapView.locationManager.cameraMode
insteadval itineraryOptions: ItineraryOptions
removed. Now it should be provided as independent parameter toMapNavigationManager.startNavigation()
val renderMode: Int?
removed. You can usemapView.locationManager.renderMode
insteadval zoomWhileTracking: Double?
removed. You can usemapView.zoomWhileTracking
instead
- By default it is possible to select only one POI at a time. To enable multiple POIs selection, you have to change
- CoreSDK
ServiceFactory
- To obtain an instance implementing
IItineraryService
useServiceFactory.getItineraryService()
instead ofServiceFactory.createService(IItineraryService::class.java)
- To obtain an instance implementing
IPointOfInterestService
useServiceFactory.getPointOfInterestService()
instead ofServiceFactory.createService(IPointOfInterestService::class.java)
- To obtain an instance implementing
LocationSourceListener
fun onLocationChanged(location: Coordinate)
renamed tofun onCoordinateChanged(coordinate: Coordinate)
fun onError(error: Error?)
changed tofun onError(error: Error)
- PosSDK(VPS)
WemapVPSARCoreLocationSource
changed:val listeners: MutableSet<WemapVPSARCoreLocationSourceListener>
renamed toval vpsListeners: MutableSet<WemapVPSARCoreLocationSourceListener>
fun bind(surfaceView: SurfaceView)
changed tofun bind(context: Context, surfaceView: SurfaceView)
ScanReason
renamed toNotPositioningReason
State
cases changed accordingly:SCAN_REQUIRED
renamed toNOT_POSITIONING
- added
DEGRADED_POSITIONING
NORMAL
renamed toACCURATE_POSITIONING
- removed
NO_TRACKING
- PosSDK(VPS): Enhancement of lifecycle
- CoreSDK: add single PoI selection mode and it is used by default (instead of multiple PoIs selection)
- MapSDK: make camera mode and render mode accessible directly from LocationManager
- MapSDK: make PoIs loaded before returning Map async
- MapSDK: Make the camera zoom when user tracking mode is changed to follow/tracking
- MapSDK: Set userTrackingMode to None when BuildingManager.setLevel is called
- PosSDK(VPS): Trigger the reason of rescan necessary. Ex.: because of conveying detected
- CoreSDK: Remove maths duplicates in favour of dev.romainguy.kotlin.math
- CoreSDK: handle sorting by graph distance/duration error in BE response
- MapSDK: getting navigation failed error twice after disposing map view
- Samples: sometimes levels switcher doesn't show levels at startup
- Samples: memory leaks
- Android SDK 34 -> 35
- Gradle-Wrapper 8.6 -> 8.9
- Plugins
- Kotlin 1.9.0 -> 2.0.0
- Gradle 8.4.1 -> 8.7.1
- Serialization 1.8.20 -> 2.0.0
- Core
- RxJava 3.1.8 -> 3.1.9
- Turf 6.0.0 -> 6.0.1
- Serialization 1.6.3 -> 1.7.3
- GeoJSON 6.0.0 -> 6.0.1
- KotlinMath 1.5.3
- Map
- MapLibre 11.0.0 -> 11.5.2
- Fused-GMS
- GMS 21.2.0 -> 21.3.0
- VPS
- ARCore 1.43.0 -> 1.46.0
- Due to migration from MapLibre 10.3.1 to 11.0.0 additional changes needed:
- Change package of all classes from
com.mapbox.mapboxsdk
toorg.maplibre.android
. This means you will need to fix your imports.To migrate: In your imports in each of your project files, replace
com.mapbox.mapboxsdk.
withorg.maplibre.android.*
. - Rename several classes to no longer contain the word "Mapbox". You will need to migrate by renaming references.
To migrate:
Each affected occurrence will be marked as an error during compilation. Replace each occurrence of "Mapbox" with "MapLibre" and let your IDE do the import.These are the most important classes that have been renamed:
Mapbox
→MapLibre
MapboxMap
→MapLibreMap
- Turf and GeoJson: Change package prefix from
com.mapbox.*
toorg.maplibre.*
.
- Change package of all classes from
- PosSDK: Add "isAvailable" method to LocationSource
- MapSDK: Multi-level itinerary segments are shown for all levels
- PosSDK(VPS): Switch to SCAN_REQUIRED state when user is static in an elevator or escalator in navigation mode
- Core
- Turf 5.9.0 -> 6.0.0
- GeoJson 5.9.0 -> 6.0.0
- Map
- MapLibre 10.3.1 -> 11.0.0
- Examples
- PluginAnnotation 2.0.2 -> 3.0.0
- MapSDK: buildings that are not related to the current map have been loaded
NavigationInstructions
class has been moved fromcom.getwemap.sdk.map.navigation.instructions
tocom.getwemap.sdk.core.navigation.instructions
Direction
class has been moved fromcom.getwemap.sdk.map.navigation.instructions
tocom.getwemap.sdk.core.navigation.instructions
Step.getNavigationInstructions
has been moved fromcom.getwemap.sdk.map.extensions
tocom.getwemap.sdk.core.model.entities
- CoreSDK: expose mediaUrl, mediaType of POI
- CoreSDK: move Step.getNavigationInstructions to CoreSDK
- Gradle 8.3.2 -> 8.4.1
- Core-ktx 1.12.0 -> 1.13.1
- Map
- MapLibre 10.3.0 -> 10.3.1
- VPS
- ARCore 1.42.0 -> 1.43.0
- CoreSDK: handle level change type - incline plane
- PosSDK(VPS): Switch to SCAN_REQUIRED state when user is static in an elevator or escalator in navigation mode
- PosSDK(VPS): Change VPS request timeout to 20s
- MapSDK: buildings that are not related to the current map have been loaded
- MapSDK: hideAllPOIs() and showAllPOIs() does not work
- CoreSDK: accept VPS endpoint without '/' at the end
WemapCoreSDK.name
has been renamed toWemapCoreSDK.NAME
MapConstants
has been moved fromcom.getwemap.sdk.map
tocom.getwemap.sdk.map.helpers
Coordinate.distanceTo(other: Coordinate): Float?
has been changed toCoordinate.distanceTo(other: Coordinate): Double?
Itinerary.distance: Float
has been changed toItinerary.distance: Double
Leg.distance: Float
has been changed toLeg.distance: Double
LevelChange.direction: Direction
has been changed toLevelChange.direction: Incline
Projection.distance: Float
has been changed toProjection.distance: Double
Segment.distance: Float
has been changed toSegment.distance: Double
Step
has been changed:val angle: Double
has been changed toval angle: Float
val previousBearing: Double
has been changed toval previousBearing: Float
val nextBearing: Double
has been changed toval nextBearing: Float
val isGate: Boolean
has been moved toextras.isGate
val subwayEntranceName: String?
has been moved toextras.subwayEntranceName
ItinerariesParametersMultipleDestinations
has been renamed toItinerariesParametersMultiDestinations
NavigationInfo
has been changed:val traveledDistance: Float
has been changed toval traveledDistance: Double
val remainingDistance: Float
has been changed toval remainingDistance: Double
val remainingStepDistance: Float?
has been changed toval remainingStepDistance: Double?
ItineraryInfo.distance: Float
has been changed toItineraryInfo.distance: Double
Destination.coords: Coordinate
has been changed toDestination.coordinate: Coordinate
ItinerarySearchOptions
has been replaced everywhere from nullable parameter to parameter with a default value
- PosSDK(VPS): add checkVpsAvailability() method
- MapSDK: offline maps support
- MapLibre 10.2.0 -> 10.3.0
- Gradle 8.3.1 -> 8.3.2
- Retrofit 2.10.0 -> 2.11.0
- Polestar
- NAOSDK 4.11.14 -> 4.11.15
- VPS
- ARCore 1.41.0 -> 1.42.0
- MapSDK: centerToPOI fails if POI doesn't have level or there is no building in focus
- MapSDK: allow POIs that are not attached to the building to be shown on the map
- MapLibre 10.2.0 -> 10.3.0
- Retrofit 2.9.0 -> 2.10.0
- Gradle 8.3.0 -> 8.3.1
- Fused-GMS
- GMS 21.1.0 -> 21.2.0
NavigationInfo
andNavigationInfoHandler
have been moved fromcom.getwemap.sdk.map.navigation
tocom.getwemap.sdk.core.navigation
- CoreSDK: add optional mapId parameter to ItineraryParameters
- CoreSDK: Make NavigationInfoHandler usable without MapSDK
- Serialization 1.6.2 -> 1.6.3
- Gradle 8.2.2 -> 8.3.0
WemapVPSARCoreLocationSource.State.LIMITED_CORRECTION
has been removedWemapMapView.onMapViewClickListener
property has been removedOnMapViewClickListener.onFeatureClick
method has been removed. UsePointOfInterestManagerListener.onPointOfInterestSelected(poi: PointOfInterest)
orPointOfInterestManagerListener.onPointOfInterestClicked(poi: PointOfInterest)
instead.
WemapMapSDK
has been changed:setEnvironment(environment: IEnvironment)
has been moved toWemapCoreSDK.setEnvironment(environment: IEnvironment)
map(id: Int, token: String): Single<MapData>
has been renamed tomapData(id: Int, token: String): Single<MapData>
ItinerariesResponse
has been changed:val from: Coordinate
has been removedval to: Coordinate
has been removedval error: String?
has been replaced byval status: Status
Itinerary
has been changed:val from: Coordinate
has been renamed toval origin: Coordinate
val to: Coordinate
has been renamed toval destination: Coordinate
val mode: TravelMode
has been renamed toval transitMode: TravelMode
ItinerarySearchOptions
has been changed:val useStairs: Boolean
has been replaced byval avoidStairs: Boolean
val useEscalators: Boolean
has been replaced byval avoidEscalators: Boolean
val useElevators: Boolean
has been replaced byval avoidElevators: Boolean
Leg
has been changed:val from: Destination
has been renamed toval start: Destination
val to: Destination
has been renamed toval end: Destination
val mode: TravelMode
has been renamed toval transitMode: TravelMode
TravelMode
has been changed:WALK
has been changed toWalk()
CAR
has been changed toCar()
BIKE
has been changed toBike(preference: TravelMode.Preference)
ItineraryParameters
has been changed:val waypoints: List<Coordinate>
has been replaced byval origin: Coordinate
andval destination: Coordinate
val mode: TravelMode
has been renamed toval travelMode: TravelMode
val options: ItinerarySearchOptions
has been changed toval searchOptions: ItinerarySearchOptions?
ItinerariesParametersMultipleDestinations
has been changed:fromPOIs(origin: Coordinate, destinations: List<PointOfInterest>, mapID: Int, mode: TravelMode, searchOptions: ItinerarySearchOptions)
has been changed tofromPOIs(origin: Coordinate, destinations: List<PointOfInterest>, mapID: Int, travelMode: TravelMode, searchOptions: ItinerarySearchOptions?)
fromCoordinates(origin: Coordinate, destinations: List<Coordinate>, mapID: Int?, mode: TravelMode, searchOptions: ItinerarySearchOptions)
has been changed tofromCoordinates(origin: Coordinate, destinations: List<Coordinate>, mapID: Int?, travelMode: TravelMode, searchOptions: ItinerarySearchOptions?)
ItineraryManager.getItineraries(from: Coordinate, to: Coordinate, mode: TravelMode, searchOptions: ItinerarySearchOptions)
has been changed toItineraryManager.getItineraries(origin: Coordinate, destination: Coordinate, travelMode: TravelMode, searchOptions: ItinerarySearchOptions?)
NavigationManager
has been changed:startNavigation(from: Coordinate, to: Coordinate, options: NavigationOptions, timeout: Long, itinerarySearchOptions: ItinerarySearchOptions)
has been changed tostartNavigation(origin: Coordinate?, destination: Coordinate, travelMode: TravelMode, options: NavigationOptions, searchOptions: ItinerarySearchOptions?, timeout: Long)
startNavigation(itinerary: Itinerary, options: NavigationOptions, itinerarySearchOptions: ItinerarySearchOptions)
has been changed tostartNavigation(itinerary: Itinerary, options: NavigationOptions, searchOptions: ItinerarySearchOptions?)
- CoreSDK: Add FASTEST, SAFEST, TOURISM preferences for Bike travel mode
- MapSDK: expose pitch from the back office, take into account the initial value
- MapSDK: expose bearing from the back office, take into account the initial value
- CoreSDK: migrate to Itineraries API v2
- MapSDK: replace onFeatureClick by onPOIClick
- Itineraries API v1 -> v2
- Gradle 8.0.2 -> 8.2.2
PointOfInterest
has been changed:latitude
has been moved tocoordinate.latitude
longitude
has been moved tocoordinate.longitude
levelID
has been moved tocoordinate.levels
latLng
has been moved tocoordinate.latLng
ItineraryOptions
has been changed:width
has been moved toindoorLine.width
opacity
has been moved toindoorLine.opacity
color
has been moved toItineraryOptions.indoorLine.color
projectionOptions.width
has been moved byprojectionLine.width
projectionOptions.opacity
has been moved byprojectionLine.opacity
projectionOptions.color
has been moved byprojectionLine.color
projectionOptions.dashPattern
has been moved byprojectionLine.dashPattern
- MapSDK: Add remaining distance to the step in Itinerary info of NavigationInfo
- MapSDK/CoreSDK: Let the possibility to sort PoIs by travel time/distance from UserPosition in a "batch" version
- MapSDK: Let the possibility to the developer to disable/enable PoI selection
- MapSDK: Add the possibility to change the user location icon dynamically
- MapSDK: ability to change color of outdoor part of itinerary
- CoreSDK: use coordinate for POI instead of latitude, longitude and levelID
- MapSDK: filterByTag method do the opposite of the desired effect
- MapSDK: SDK version in the (i) button is not at the good version for Android
- MapSDK: building's active level is reset when viewport has significantly changed even if the building is still in focus
- MapSDK: outdoor part of itinerary is visible only when selected level 0
- MapSDK: blue dot greyed outdoor when camera is following the user
- Polestar
- NAOSDK 4.11.11 -> 4.11.14
- Fused-GMS
- GMS 21.0.1 -> 21.1.0
LocationSource
andLocationSourceListener
have been moved fromcom.getwemap.sdk.core
tocom.getwemap.sdk.core.location
SimulatorLocationSource
has been moved fromcom.getwemap.sdk.map.location
tocom.getwemap.sdk.map.location.simulation
polestar
,fused-gms
andwemap-vps-arcore
libraries are moved fromcom.getwemap.sdk.locationsources:
tocom.getwemap.sdk.positioning:
GmsFusedLocationSource
has been moved fromcom.getwemap.sdk.locationsources
tocom.getwemap.sdk.positioning.fusedgms
PolestarLocationSource
has been moved fromcom.getwemap.sdk.locationsources
tocom.getwemap.sdk.positioning.polestar
WemapVPSARCore*
classes have been moved fromcom.getwemap.sdk.locationsources.vps.*
tocom.getwemap.sdk.positioning.wemapvpsarcore.*
- MapSDK: have a method to startNavigation with itineraries as parameter
- Map+PosExample: sample app with WemapVPSARCoreLocationSource
- Samples: update icons and names of sample apps
- MapSDK: Refactor (i) button popup
- ARCore 1.40.0 -> 1.41.0
- LoggingInterceptor 4.11.0 -> 4.12.0
- Serialization 1.6.0 -> 1.6.2
- PositioningExample: add an example app to demonstrate VPS functionality
- MapSDK: Create filter by tags
- MapSDK: Extend MapData with Extras
- MapSDK: fix automatic level change when CameraMode is not tracking
- MapSDK: automatic level switch on user movements freezes/lags the app
- RxJava 3.1.7 -> 3.1.8
- ARCore 1.39.0 -> 1.40.0
- MapSDK: Add helper method to translate step data into textual instructions
- CoreSDK: add itinerary search options for backend
- MapSDK: Take into account heading from LocationSource
- MapSDK: Add MapData.externalId
- MapSDK: Make MapData and its children Parcelable
- MapSDK: Add NavigationManager.isActive
- CoreSDK: Add PointOfInterest.coordinate
- MapSDK: Create a default GPS (fused) LocationSource
- MapSDK: improve building selection implementation
- MapSDK: use Polestar recommendation to detect outdoor location
- MapSDK: revert back onFeatureClick listener method
- MapExample: simplify samples
- CoreSDK: fix CompressedCoordinateSerializer for indoor coordinates
- MapSDK: fix when an outdoor PoI is clicked, the event propagation is not stopped
- MapExample: Bluetooth permission is not asked in the sample app
- MapSDK: user position is not projected on stairs
- MapSDK: outdoors, the user's location annotation is displayed in gray
- MapSDK:
OnMapViewClickListener.onFeatureClick
listener method has been deprecated and will be removed soon. UsePointOfInterestManagerListener.onPointOfInterestSelected(poi: PointOfInterest)
instead.
- Gradle 8.1.0 -> 8.0.2
- Core-ktx 1.10.1 -> 1.12.0
- RxJava 3.1.6 -> 3.1.7
- Serialization 1.5.1 -> 1.6.0
- CoreSDK: Fix low frequency position updates (regression appeared in 0.8.0)
We created a PositioningSDK
to handle multiple sources of positioning. This corresponds to a new transitive dependency. Some positioning systems can be used on the shelf directly in v0.8 by
com.getwemap.sdk.locationsources:polestar:0.8.0
com.getwemap.sdk.locationsources:fusedgms:0.8.0
and used as:
mapView.locationManager.apply {
source = PolestarLocationSource(requireContext(), "emulator")
// source = GmsFusedLocationSource(requireContext())
isEnabled = true // To start the localization process
}
-
IndoorLocationProvider
has been renamed toLocationSource
and moved fromcom.getwemap.sdk.map.locationProviders
tocom.getwemap.sdk.core.LocationSource
-
IndoorLocationProviderListener
has been renamed toLocationSourceListener
and moved fromcom.getwemap.sdk.map.locationProviders
tocom.getwemap.sdk.core.LocationSource
-
Polestar
onLocationChanged
should take into accounthasAltitude()
for proper calculation as shown belowoverride fun onLocationChanged(location: Location) { val coordinate = polestarLocationToCoordinate(location) listener?.onLocationChanged(coordinate) } fun polestarLocationToCoordinate(location: Location) : Coordinate { val standardLocation = Location("PoleStar") standardLocation.latitude = location.latitude standardLocation.longitude = location.longitude standardLocation.time = System.currentTimeMillis() val verticalAccuracy = location.extras?.getFloat("vertical_accuracy") val isOutdoor = !location.hasAltitude() || location.hasAltitude() && verticalAccuracy == -500f val altitude = location.altitude return Coordinate(standardLocation, if (isOutdoor) emptyList() else listOf((altitude / 5).toFloat())) }
-
OnMapViewClickListener.onFeatureClick(feature: Feature)
is removed in favor ofPointOfInterestManagerListener.onPointOfInterestSelected(poi: PointOfInterest)
. To receive events fromPointOfInterestManager
you have to implement interfacePointOfInterestManagerListener
and add it to manager bymapView.pointOfInterestManager.addPointOfInterestManagerListener()
- MapSDK: switch level automatically on selectPOI if shouldCenter is true
- MapSDK: add new events when a POI is selected/unselected
- MapSDK: Stop event did not reach even if remaining distance is less than threshold
- MapSDK: Navigation info is wrong when itinerary contains indoor and outdoor parts
- MapSDK: multi-level itinerary is shown for every levels at the initialization
- MapSDK: click on the PoI symbol (shape) does not select the PoI
- Kotlin 1.8.21 -> 1.9.0
- Gradle 7.4.2 -> 8.1.0
- CoreSDK: fix pointOfInterestManager.getPOIs()
- MapSDK: user position is not projected on stairs
- MapSDK: outdoors, the user's location annotation is displayed in gray
- MapSDK: Stop event did not reach even if remaining distance is less than threshold
- MapSDK: Navigation info is wrong when itinerary contains indoor and outdoor parts
- MapSDK: multi-level itinerary is shown for every levels at the initialization
- MapSDK: it's possible to remove navigation itinerary using itinerary manager (it should not)
- Kotlin 1.8.21 -> 1.9.0
- Gradle 7.4.2 -> 8.0.2