| | |
| | | import android.view.View |
| | | import android.view.animation.AnimationUtils |
| | | import android.widget.LinearLayout |
| | | import cn.flightfeather.thirdapp.CommonApplication |
| | | import cn.flightfeather.thirdapp.R |
| | | import cn.flightfeather.thirdapp.activity.GradeActivity |
| | | import cn.flightfeather.thirdapp.activity.MapActivity |
| | |
| | | |
| | | viewModel.inspection.observe(this, Observer { |
| | | it?.apply { |
| | | if (extension1 != null) { |
| | | val list = extension1.split(";").map{str -> |
| | | str.split(",").map {str2 -> |
| | | str2.toDoubleOrNull() ?: 0.0 |
| | | }.takeIf { l-> l.size == 2 }.let {latLng-> |
| | | LatLng(latLng?.get(1) ?: 0.0, latLng?.get(0) ?: 0.0) |
| | | } |
| | | } |
| | | drawPolyline(list) |
| | | list.firstOrNull()?.let {p-> |
| | | myLatLngList.add( |
| | | MyLatLng( |
| | | p, |
| | | drawableId = R.drawable.icon_mark_start_blue, |
| | | selected = true |
| | | ) |
| | | ) |
| | | } |
| | | } |
| | | onDataLoaded(0) |
| | | } |
| | | }) |
| | |
| | | if (result) { |
| | | showMenu() |
| | | refreshMenuStatus(taskStatus) |
| | | |
| | | viewModel.inspection.value?.extension1?.let{ |
| | | val list = it.split(";").map{str -> |
| | | str.split(",").map {str2 -> |
| | | str2.toDoubleOrNull() ?: 0.0 |
| | | }.takeIf { l-> l.size == 2 }.let {latLng-> |
| | | LatLng(latLng?.get(1) ?: 0.0, latLng?.get(0) ?: 0.0) |
| | | } |
| | | } |
| | | //道路监测点和道路类型的场景,直接展示轨迹;其余场景只有管理员和政府部门可以查看 |
| | | if ( |
| | | (viewModel.scene.value?.typeid?.toString() == Constant.SCENE_TYPE9 || viewModel.scene.value?.typeid?.toString() == Constant.SCENE_TYPE10) |
| | | || (CommonApplication.getInstance().currentUser.usertypeid == 0.toByte() || CommonApplication.getInstance().currentUser.usertypeid == 2.toByte()) |
| | | ) { |
| | | drawPolyline(list) |
| | | } |
| | | |
| | | list.firstOrNull()?.let {p-> |
| | | myLatLngList.add( |
| | | MyLatLng( |
| | | p, |
| | | drawableId = R.drawable.icon_mark_start_blue, |
| | | selected = true |
| | | ) |
| | | ) |
| | | } |
| | | } |
| | | |
| | | } else { |
| | | toast("请等待数据加载完成") |
| | | } |
| | |
| | | |
| | | private fun startTracking() { |
| | | if ( |
| | | // viewModel.scene.value?.typeid?.toString() != Constant.SCENE_TYPE9 || |
| | | viewModel.subTask.value == null || |
| | | viewModel.subTask.value?.status != Domain.TASK_STATUS_RUNNING |
| | | ) return |
| | | |
| | | //当继续执行正在进行中的任务时,根据是否有历史轨迹记录来判断是否开启 |
| | | if (viewModel.inspection.value?.extension1 != null) { |
| | | needTracking = true |
| | | } |
| | | needTracking = true |
| | | |
| | | if (!needTracking || timerTaskRunning) return |
| | | |
| | |
| | | val distance = AMapUtils.calculateLineDistance(l1, l2) |
| | | if (distance >= 5) { |
| | | extension1 = "${extension1};${lng},${lat}" |
| | | drawPolyline(LatLng(lat, lng)) |
| | | //道路监测点和道路类型的场景,直接展示轨迹;其余场景只有管理员和政府部门可以查看 |
| | | if ( |
| | | (viewModel.scene.value?.typeid?.toString() == Constant.SCENE_TYPE9 || viewModel.scene.value?.typeid?.toString() == Constant.SCENE_TYPE10) |
| | | || (CommonApplication.getInstance().currentUser.usertypeid == 0.toByte() || CommonApplication.getInstance().currentUser.usertypeid == 2.toByte()) |
| | | ) { |
| | | drawPolyline(LatLng(lat, lng)) |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | private fun trackingDone() { |
| | | if (!needTracking || !timerTaskRunning) return |
| | | if (!timerTaskRunning) return |
| | | |
| | | aMap.moveCamera(CameraUpdateFactory.zoomTo(zoomLevel)) |
| | | |
| | |
| | | } else { |
| | | it.problemcount + 1 |
| | | } |
| | | // fixme: 2020/9/1 此处原本的逻辑是新增一个问题后,同步更新巡查信息中的问题数,错误,应该将此更新操作直接由新增问题接口统一完成 |
| | | viewModel.updateInspection(it) |
| | | } |
| | | |