【发布时间】:2021-12-03 23:50:25
【问题描述】:
我正在创建一个地图,并且我有一个可以正常工作的 locationOverlay。但是,随着位置的变化,我需要更新一些变量。 我是否将 LocationListener 与 OSMDroid 一起使用?还是有内置的东西或我可以覆盖的方法? 如果我必须注册一个 locationListener,我该怎么做?
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)
}
【问题讨论】: