Conflicts:
	app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
	app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt
	collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java
	vtm
This commit is contained in:
qiji4215
2023-08-11 10:05:35 +08:00
15 changed files with 569 additions and 286 deletions

View File

@@ -1,6 +1,5 @@
package com.navinfo.omqs.ui.fragment.tasklink
import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -38,7 +37,7 @@ class TaskLinkFragment : BaseFragment(), View.OnClickListener {
arguments?.let {
val id = it.getString("TaskLinkId")
if (id != null && id.isNotEmpty()){
if (id != null && id.isNotEmpty()) {
viewModel.initData(id)
}
}
@@ -97,11 +96,11 @@ class TaskLinkFragment : BaseFragment(), View.OnClickListener {
/**
* 线长度
*/
mapController.measureLayerHandler.lineLengthLiveData.observe(viewLifecycleOwner) {
binding.taskLinkLength.text = "${it}"
mapController.measureLayerHandler.measureValueLiveData.observe(viewLifecycleOwner) {
binding.taskLinkLength.text = "${it.valueString}${it.unit}"
}
mapController.measureLayerHandler.tempLineDistanceLiveData.observe(viewLifecycleOwner) {
(activity as MainActivity).setHomeCenterText(it)
mapController.measureLayerHandler.tempMeasureValueLiveData.observe(viewLifecycleOwner) {
(activity as MainActivity).setHomeCenterText("${it.valueString}${it.unit}")
}
}
@@ -111,6 +110,7 @@ class TaskLinkFragment : BaseFragment(), View.OnClickListener {
* 显示地图准星
*/
activity?.let {
(activity as MainActivity).measuringToolOff()
(activity as MainActivity).setHomeCenterVisibility(View.VISIBLE)
}
}
@@ -159,7 +159,7 @@ class TaskLinkFragment : BaseFragment(), View.OnClickListener {
binding.taskLinkClear -> {
viewModel.clearLink()
}
binding.taskLinkBarDelete ->{
binding.taskLinkBarDelete -> {
viewModel.deleteData(requireContext())
}
}

View File

@@ -1,10 +1,7 @@
package com.navinfo.omqs.ui.fragment.tasklink
import android.app.Dialog
import android.content.Context
import android.content.SharedPreferences
import android.os.Build
import androidx.annotation.RequiresApi
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
@@ -13,18 +10,15 @@ import com.navinfo.collect.library.data.entity.LinkInfoBean
import com.navinfo.collect.library.data.entity.QsRecordBean
import com.navinfo.collect.library.data.entity.TaskBean
import com.navinfo.collect.library.map.NIMapController
import com.navinfo.collect.library.map.handler.MeasureLayerHandler
import com.navinfo.collect.library.utils.GeometryTools
import com.navinfo.omqs.Constant
import com.navinfo.omqs.ui.dialog.FirstDialog
import dagger.hilt.android.lifecycle.HiltViewModel
import io.realm.Realm
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.bson.codecs.UuidCodec
import org.bson.internal.UuidHelper
import org.oscim.core.GeoPoint
import java.util.UUID
import javax.inject.Inject
@@ -136,7 +130,7 @@ class TaskLinkViewModel @Inject constructor(
* 编辑点
*/
fun addPoint() {
mapController.measureLayerHandler.drawLineOrPolygon(false)
mapController.measureLayerHandler.addPoint(MeasureLayerHandler.MEASURE_TYPE.DISTANCE)
}
/**
@@ -198,7 +192,7 @@ class TaskLinkViewModel @Inject constructor(
if (hadLinkDvoBean != null) {
hadLinkDvoBean!!.taskId = liveDataTaskBean.value!!.id
hadLinkDvoBean!!.length =
mapController.measureLayerHandler.lineLengthLiveData.value!!
mapController.measureLayerHandler.measureValueLiveData.value!!.value
hadLinkDvoBean!!.geometry =
GeometryTools.getLineString(mapController.measureLayerHandler.mPathLayer.points)
hadLinkDvoBean!!.linkInfo = LinkInfoBean(
@@ -218,7 +212,7 @@ class TaskLinkViewModel @Inject constructor(
taskId = liveDataTaskBean.value!!.id,
linkPid = UUID.randomUUID().toString(),
linkStatus = 3,
length = mapController.measureLayerHandler.lineLengthLiveData.value!!,
length = mapController.measureLayerHandler.measureValueLiveData.value!!.value,
geometry = GeometryTools.getLineString(mapController.measureLayerHandler.mPathLayer.points),
linkInfo = LinkInfoBean(
kind = liveDataSelectKind.value!!.type,
@@ -256,7 +250,7 @@ class TaskLinkViewModel @Inject constructor(
* 绘制线的时候回退点
*/
fun removeLinkLastPoint() {
mapController.measureLayerHandler.drawLineBackspace()
mapController.measureLayerHandler.backspacePoint()
}
/**
@@ -302,9 +296,11 @@ class TaskLinkViewModel @Inject constructor(
if (task != null) {
liveDataTaskBean.postValue(realm.copyFromRealm(task))
}
hadLinkDvoBean = realm.copyFromRealm(objects)
withContext(Dispatchers.Main) {
mapController.measureLayerHandler.initPathLine(hadLinkDvoBean?.geometry!!)
if(objects != null) {
hadLinkDvoBean = realm.copyFromRealm(objects)
withContext(Dispatchers.Main) {
mapController.measureLayerHandler.initPathLine(hadLinkDvoBean?.geometry!!)
}
}
}
}