调整mapapi

This commit is contained in:
squallzhjch
2023-03-24 15:34:22 +08:00
parent 5e8b75005f
commit 97a48237ba
12 changed files with 212 additions and 14 deletions

View File

@@ -23,10 +23,23 @@ class MainActivity : BaseActivity() {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
//关联生命周期
binding.lifecycleOwner = this
viewModel.initMap(this, binding.mainActivityMap)
//给xml转递对象
binding.mainActivity = this
//给xml传递viewModel对象
binding.viewModel = viewModel
//初始化地图
viewModel.initMap(this, binding.mapView.mainActivityMap)
//让viewModel监听activity生命周期
lifecycle.addObserver(viewModel)
// val navController = findNavController(R.id.nav_host_fragment_content_main)
}
/**
* 打开个人中菜单
*/
fun openMenu() {
binding.mainActivityDrawer.open()
}
}

View File

@@ -8,8 +8,14 @@ import com.navinfo.collect.library.map.NIMapController
import com.navinfo.collect.library.map.NIMapView
class MainViewModel : ViewModel(), DefaultLifecycleObserver {
/**
* 地图控制器
*/
private lateinit var mapController: NIMapController
/**
* 初始化地图
*/
fun initMap(context: Context, mapView: NIMapView) {
mapController = NIMapController(context = context, mapView = mapView)
@@ -17,6 +23,7 @@ class MainViewModel : ViewModel(), DefaultLifecycleObserver {
override fun onStart(owner: LifecycleOwner) {
super.onStart(owner)
//开启定位
mapController.locationLayerHandler.startLocation()
}
@@ -26,6 +33,7 @@ class MainViewModel : ViewModel(), DefaultLifecycleObserver {
override fun onDestroy(owner: LifecycleOwner) {
mapController.mMapView.onDestroy()
//结束定位
mapController.locationLayerHandler.stopLocation()
}
@@ -33,4 +41,11 @@ class MainViewModel : ViewModel(), DefaultLifecycleObserver {
mapController.mMapView.onResume()
}
/**
* 点击我的位置,回到我的位置
*/
fun onClickLocationButton() {
mapController.locationLayerHandler.animateToCurrentPosition()
}
}