From 4417201497068102245baa01787f4bd5c1927451 Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Fri, 11 Aug 2023 15:32:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../omqs/ui/activity/map/MainActivity.kt | 72 ++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt index eb2cec00..2197d27b 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt @@ -43,7 +43,6 @@ import com.navinfo.omqs.util.FlowEventBus import com.navinfo.omqs.util.SpeakMode import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.launch -import org.oscim.android.theme.AssetsRenderTheme import org.oscim.core.GeoPoint import org.oscim.renderer.GLViewport import org.videolan.vlc.Util @@ -400,6 +399,77 @@ class MainActivity : BaseActivity() { supportFragmentManager.beginTransaction() .add(R.id.console_fragment_layout, ConsoleFragment()).commit() } + initMeasuringTool() + } + + /** + *初始化测量工具栏的点击事件 + */ + + private fun initMeasuringTool() { + val root = binding.mainActivityMeasuringTool.root + root.findViewById(R.id.measuring_tool_select_point) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_close) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_backspace) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_reset) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_distance) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_area) + .setOnClickListener(measuringToolClickListener) + root.findViewById(R.id.measuring_tool_angle) + .setOnClickListener(measuringToolClickListener) + } + + /** + * 测量工具点击事件 + */ + private val measuringToolClickListener = View.OnClickListener { + when (it.id) { + //选点 + R.id.measuring_tool_select_point -> { + viewModel.addPointForMeasuringTool() + } + //关闭 + R.id.measuring_tool_close -> { + measuringToolOff() + } + //上一步 + R.id.measuring_tool_backspace -> { + viewModel.backPointForMeasuringTool() + } + //重绘 + R.id.measuring_tool_reset -> { + viewModel.resetMeasuringTool() + } + //测距 + R.id.measuring_tool_distance -> { + it.isSelected = true + viewModel.setMeasuringToolType(MeasureLayerHandler.MEASURE_TYPE.DISTANCE) + val root = binding.mainActivityMeasuringTool.root + root.findViewById(R.id.measuring_tool_area).isSelected = false + root.findViewById(R.id.measuring_tool_angle).isSelected = false + } + //测面积 + R.id.measuring_tool_area -> { + it.isSelected = true + viewModel.setMeasuringToolType(MeasureLayerHandler.MEASURE_TYPE.AREA) + val root = binding.mainActivityMeasuringTool.root + root.findViewById(R.id.measuring_tool_distance).isSelected = false + root.findViewById(R.id.measuring_tool_angle).isSelected = false + } + //测角度 + R.id.measuring_tool_angle -> { + it.isSelected = true + viewModel.setMeasuringToolType(MeasureLayerHandler.MEASURE_TYPE.ANGLE) + val root = binding.mainActivityMeasuringTool.root + root.findViewById(R.id.measuring_tool_distance).isSelected = false + root.findViewById(R.id.measuring_tool_area).isSelected = false + } + } } /**