com.tomtom.sdk.navigation:map-matching-engine-tilestore
This is a library to handle inaccurate locations provided by a location service. Using the raw location to update the current user’s position can lead to a position indicator that is unaligned with the Route. To solve this inaccuracy problem, Map Matching Engine produces accurate (map-matched) locations.
Installation
Add the following repository to the project build.gradle
file:
maven {
url = uri("https://repositories.tomtom.com/artifactory/maven")
}
Add the following dependency to the module build.gradle
file:
dependencies {
implementation "com.tomtom.sdk.navigation:map-matching-engine-tilestore:${version}"
}
Usage
To create a MapMatchingEngine
instance, use the TileStoreMapMatchingEngineFactory
class:
val tileStoreMapMatchingEngine = TileStoreMapMatchingEngineFactory.create(navigationTileStore)
The NavigationTileStore
instance is required to create the MapMatchingEngine
. It can be created by calling NavigationTileStore.create()
method:
val navigationTileStoreConfiguration = NavigationTileStoreConfiguration(apiKey = TOMTOM_API_KEY)
val navigationTileStore = NavigationTileStore.create(context, navigationTileStoreConfiguration)
Find how to obtain an API key. Once the MapMatchingEngine
instance is created, you can use it to match a location to a map.
Depending on GNSS (Global Navigation Satellite System) availability, you can use the following methods:
matchLocation
- when GNSS is available.extrapolateLocation
- when no GNSS input is available, in this case, the location is extrapolated from the last known location.
To match the location to a position on a map, use the matchLocation
function:
val mapMatchingResult = tileStoreMapMatchingEngine.matchLocation(navigationSnapshot)
To extrapolate the location, use the extrapolateLocation
function:
val mapMatchingResult = tileStoreMapMatchingEngine.extrapolateLocation(navigationSnapshot)
TileStoreMapMatchingEngine
is a default configuration for OnlineTomTomNavigationFactory
.
Packages
This package contains the TileStoreMapMatchingEngineFactory API to create an online-based implementation of MapMatchingEngine
.