我正在使用osmdroid,已经添加了一个MyLocationNewOverlay到我的地图上以显示我的当前位置。这看起来很好。我想要一个按钮,可以将地图居中到我的当前位置,类似于Google Maps。
内置的方式可以实现吗?如果不行,我该如何创建自定义叠加层来实现这个功能?
我知道MyLocationNewOverlay有一个启用跟随位置的功能。但是,我不想要这个功能。我只想要一个按需居中按钮。
我正在使用osmdroid,已经添加了一个MyLocationNewOverlay到我的地图上以显示我的当前位置。这看起来很好。我想要一个按钮,可以将地图居中到我的当前位置,类似于Google Maps。
内置的方式可以实现吗?如果不行,我该如何创建自定义叠加层来实现这个功能?
我知道MyLocationNewOverlay有一个启用跟随位置的功能。但是,我不想要这个功能。我只想要一个按需居中按钮。
setCenter()
方法和 animateTo()
方法在 mapView.controller
中可以将地图居中显示。
val mMyLocationOverlay = MyLocationNewOverlay(GpsMyLocationProvider(this), myMapView)
val mapController = mapView.controller
mMyLocationOverlay.disableMyLocation()
mMyLocationOverlay.disableFollowLocation()
mMyLocationOverlay.isDrawAccuracyEnabled = true
mMyLocationOverlay.runOnFirstFix {
runOnUiThread {
mapController.setCenter(mMyLocationOverlay.myLocation);
mapController.animateTo(mMyLocationOverlay.myLocation)
}
}
mapView.overlays.add(mMyLocationOverlay)