I'm creating a map and I have a locationOverlay that works fine. However I need to update some variables as the location changes. Do I use a LocationListener with OSMDroid? Or is there something builtin or a method I can override? If I do have to register a locationListener, how do I go about that?
private fun createMap() {
val ctx = applicationContext
Configuration.getInstance().load(ctx, PreferenceManager.getDefaultSharedPreferences(ctx))
map = findViewById<View>(R.id.map) as MapView
map.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE)
map.getOverlays().add(CopyrightOverlay(this))
mapController = MapController(map)
mLocationOverlay = MyLocationNewOverlay(GpsMyLocationProvider(this), map)
mLocationOverlay.enableMyLocation()
mLocationOverlay.runOnFirstFix {
runOnUiThread {
mapController.zoomTo(14)
mapController.setCenter(mLocationOverlay.myLocation)
mapController.animateTo(mLocationOverlay.myLocation)
}
}
map.overlays.add(mLocationOverlay)
}