From 121a8cf39c5387b36cd4ee5cacf6b4e02d6f10ea Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Thu, 21 Sep 2023 09:55:14 +0800 Subject: [PATCH 1/5] mergecode --- app/src/main/assets/omdb_config.json | 1 + .../signMoreInfo/SignMoreInfoFragment.kt | 6 +++ .../java/com/navinfo/omqs/util/SignUtil.kt | 49 ++++++++++++++++++- .../assets/omdb/appendix/1105_00101_0_12.svg | 1 + .../assets/omdb/appendix/1105_00101_0_13.svg | 1 + 5 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 collect-library/src/main/assets/omdb/appendix/1105_00101_0_12.svg create mode 100644 collect-library/src/main/assets/omdb/appendix/1105_00101_0_13.svg diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index c4b09ded..e4b50264 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -220,6 +220,7 @@ "zoomMin": 18, "zoomMax": 20, "is3D": true, + "catch":true, "transformer": [ { "k": "geometry", diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt index 54de09fa..7f571e70 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/signMoreInfo/SignMoreInfoFragment.kt @@ -96,6 +96,12 @@ class SignMoreInfoFragment : BaseFragment() { binding.signInfoRecyclerview.adapter = adapter adapter.refreshData(SignUtil.getElectronicEyeMoreInfo(it)) } + //交通标牌 + DataCodeEnum.OMDB_TRAFFIC_SIGN.code -> { + val adapter = TwoItemAdapter() + binding.signInfoRecyclerview.adapter = adapter + adapter.refreshData(SignUtil.getTrafficSignMoreInfo(it)) + } else -> { val adapter = SignUtil.getMoreInfoAdapter(it) binding.signInfoRecyclerview.adapter = adapter diff --git a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt index 47bf4c38..6e66e316 100644 --- a/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt +++ b/app/src/main/java/com/navinfo/omqs/util/SignUtil.kt @@ -1596,7 +1596,54 @@ class SignUtil { return list } + /** + * 获取交通标牌详细信息 + */ + fun getTrafficSignMoreInfo(renderEntity: RenderEntity): List { + val list = mutableListOf() + val trafsignShape = when (renderEntity.properties["trafsignShape"]) { + "1" -> "不规则形状" + "2" -> "长方形" + "3" -> "三角形" + "4" -> "圆形" + "5" -> "菱形" + "6" -> "到三角形" + "7" -> "正方形" + "8" -> "八角形" + else -> "" + } + if (trafsignShape != "") { + list.add( + TwoItemAdapterItem( + title = "形状", text = trafsignShape + ) + ) + } + + val color = when (renderEntity.properties["color"]) { + "0" -> "未验证" + "1" -> "白色" + "2" -> "黄色" + "3" -> "红色" + "5" -> "棕色" + "6" -> "蓝色" + "7" -> "绿色" + "8" -> "黑色" + "9" -> "其他" + else -> "" + } + list.add( + TwoItemAdapterItem( + title = "颜色", text = color + ) + ) + list.add( + TwoItemAdapterItem( + title = "正北夹角", text = "${renderEntity.properties["heading"]}" + ) + ) + return list + } } - } \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/appendix/1105_00101_0_12.svg b/collect-library/src/main/assets/omdb/appendix/1105_00101_0_12.svg new file mode 100644 index 00000000..ca783581 --- /dev/null +++ b/collect-library/src/main/assets/omdb/appendix/1105_00101_0_12.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/appendix/1105_00101_0_13.svg b/collect-library/src/main/assets/omdb/appendix/1105_00101_0_13.svg new file mode 100644 index 00000000..81ab8b1d --- /dev/null +++ b/collect-library/src/main/assets/omdb/appendix/1105_00101_0_13.svg @@ -0,0 +1 @@ + \ No newline at end of file From 2292fbc6d8a4d3280377f6374d2ac386895c4f85 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Thu, 21 Sep 2023 15:05:54 +0800 Subject: [PATCH 2/5] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=8F=AF=E5=8F=98?= =?UTF-8?q?=E7=82=B9=E9=99=90=E9=80=9F=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 8 ++++---- .../personalcenter/PersonalCenterFragment.kt | 2 +- collect-library/src/main/assets/editormarker.xml | 16 ++++------------ .../collect/library/utils/GeometryTools.java | 4 ++-- 4 files changed, 11 insertions(+), 19 deletions(-) diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 370a37b2..5335a0d4 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -35,7 +35,7 @@ "zoomMin": 15, "zoomMax": 17, "catch":true, - "checkLinkId": true + "checkLinkId": false }, "2002": { "table": "OMDB_RD_LINK_FUNCTION_CLASS", @@ -339,19 +339,19 @@ { "k": "location", "v": "1", - "klib": "location", + "klib": "ref", "vlib": "左" }, { "k": "location", "v": "2", - "klib": "locationlib", + "klib": "ref", "vlib": "右" }, { "k": "location", "v": "3", - "klib": "location", + "klib": "ref", "vlib": "上" } ] diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt index 855790d8..2e277dd8 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt @@ -166,7 +166,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit? // 定位到指定位置 niMapController.mMapView.vtmMap.animator() // .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 )) - .animateTo(GeoPoint(40.09819324139729,116.53123207733361 )) + .animateTo(GeoPoint(40.5016054261786, 115.82381251427815)) } R.id.personal_center_menu_open_all_layer -> { diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 4689d6bc..0396c8e6 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1871,18 +1871,10 @@ - - - - - - - - + + diff --git a/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java b/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java index 003e494a..6dcbdd1e 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/utils/GeometryTools.java @@ -1470,8 +1470,8 @@ public class GeometryTools { double startLatitude = MercatorProjection.tileYToLatitude(tile.tileY, tile.zoomLevel); double endLongitude = MercatorProjection.tileXToLongitude(tile.tileX + 1, tile.zoomLevel); double endLatitude = MercatorProjection.tileYToLatitude(tile.tileY + 1, tile.zoomLevel); - return GeometryTools.createPolygonFromCoords(new Coordinate[]{new Coordinate(startLongitude, startLongitude), new Coordinate(endLongitude, startLatitude), - new Coordinate(endLongitude, endLatitude), new Coordinate(startLongitude, endLatitude), new Coordinate(startLongitude, startLongitude)}); + return GeometryTools.createPolygonFromCoords(new Coordinate[]{new Coordinate(startLongitude, startLatitude), new Coordinate(endLongitude, startLatitude), + new Coordinate(endLongitude, endLatitude), new Coordinate(startLongitude, endLatitude), new Coordinate(startLongitude, startLatitude)}); } /** * 经纬度转墨卡托 From 79b86da93c9859be952ddd1348092f8c8aaebe4a Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Thu, 21 Sep 2023 15:50:32 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E5=8F=8B=E7=9B=9F?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 5 +++++ app/src/main/AndroidManifest.xml | 7 +++++++ app/src/main/java/com/navinfo/omqs/OMQSApplication.kt | 3 +++ .../com/navinfo/omqs/ui/activity/login/LoginActivity.kt | 2 ++ .../ui/fragment/personalcenter/PersonalCenterFragment.kt | 1 + settings.gradle | 2 ++ 6 files changed, 20 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 826f37ee..20f4585a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -136,6 +136,11 @@ dependencies { //带侧滑的自定义列表 implementation 'com.yanzhenjie.recyclerview:x:1.3.2' implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" + + // 友盟统计SDK + implementation 'com.umeng.umsdk:common:9.4.7'// 必选 + implementation 'com.umeng.umsdk:asms:1.4.1'// 必选 + implementation 'com.umeng.umsdk:apm:1.5.2' // U-APM包依赖(必选) } //允许引用生成的代码 kapt { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ab14f0d9..89627c62 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -66,6 +66,13 @@ + + + + + + + Date: Thu, 21 Sep 2023 16:13:46 +0800 Subject: [PATCH 4/5] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0=E8=A6=81?= =?UTF-8?q?=E7=B4=A0=E7=BA=BF=E6=8D=95=E6=8D=89=E5=BC=80=E5=85=B32?= =?UTF-8?q?=E3=80=81=E5=A2=9E=E5=8A=A0=E5=9B=BE=E5=B1=82=E5=BC=80=E5=85=B3?= =?UTF-8?q?=E4=B8=8E=E8=A6=81=E7=B4=A0=E6=8D=95=E6=8D=89=E8=81=94=E5=8A=A8?= =?UTF-8?q?3=E3=80=81=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0Marker=E6=98=BE=E9=9A=90=E5=BC=80=E5=85=B34=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=81=93=E8=B7=AF=E5=B1=9E=E6=80=A7=E4=B8=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=81=93=E8=B7=AF=E7=A7=8D=E5=88=AB=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 7 ++ .../main/java/com/navinfo/omqs/Constant.kt | 10 +++ .../com/navinfo/omqs/db/RealmOperateHelper.kt | 57 +++++++++-------- .../omqs/ui/activity/map/MainActivity.kt | 7 +- .../omqs/ui/activity/map/MainViewModel.kt | 26 +++++++- .../personalcenter/PersonalCenterFragment.kt | 18 ++++++ .../ui/fragment/tasklist/TaskViewModel.kt | 60 ++++++++++++------ .../drawable-xxhdpi/icon_close_catch_line.png | Bin 0 -> 1642 bytes .../drawable-xxhdpi/icon_open_catch_line.png | Bin 0 -> 1454 bytes .../res/drawable/selector_catch_line_src.xml | 5 ++ app/src/main/res/layout/activity_main.xml | 21 +++--- .../main/res/menu/personal_center_menu.xml | 5 ++ .../src/main/assets/editormarker.xml | 2 +- .../library/map/handler/MarkHandler.kt | 5 ++ vtm | 2 +- 15 files changed, 164 insertions(+), 61 deletions(-) create mode 100644 app/src/main/res/drawable-xxhdpi/icon_close_catch_line.png create mode 100644 app/src/main/res/drawable-xxhdpi/icon_open_catch_line.png create mode 100644 app/src/main/res/drawable/selector_catch_line_src.xml diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index b982edf9..ab29be07 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -152,6 +152,7 @@ "table": "OMDB_BRIDGE", "code": 2201, "name": "桥", + "catch":true, "zoomMin": 15, "zoomMax": 20, "transformer": [ @@ -169,6 +170,7 @@ "name": "隧道", "zoomMin": 15, "zoomMax": 20, + "catch":true, "transformer": [ { "k": "geometry", @@ -205,6 +207,7 @@ "checkLinkId": false, "zoomMin": 18, "zoomMax": 20, + "catch":true, "transformer": [ { "k": "geometry", @@ -319,6 +322,7 @@ "table": "OMDB_SPEEDLIMIT_COND", "code": 4003, "name": "条件点限速", + "catch":true, "zoomMin": 15, "zoomMax": 20, "transformer": [ @@ -334,6 +338,7 @@ "table": "OMDB_SPEEDLIMIT_VAR", "code": 4004, "name": "可变点限速", + "catch":true, "zoomMin": 15, "zoomMax": 20, "transformer": [ @@ -540,6 +545,7 @@ "code": 2004, "name": "道路属性", "existSubCode": true, + "catch":true, "zoomMin": 15, "zoomMax": 20, "transformer": [ @@ -577,6 +583,7 @@ "table": "OMDB_ROUNDABOUT", "code": 2204, "name": "环岛", + "catch":true, "zoomMin": 15, "zoomMax": 17, "transformer": [ diff --git a/app/src/main/java/com/navinfo/omqs/Constant.kt b/app/src/main/java/com/navinfo/omqs/Constant.kt index 1d9dbd16..390c5b5f 100644 --- a/app/src/main/java/com/navinfo/omqs/Constant.kt +++ b/app/src/main/java/com/navinfo/omqs/Constant.kt @@ -108,6 +108,16 @@ class Constant { */ var MapRotateEnable = false + /** + * Marker显隐 + */ + var MapMarkerCloseEnable = false + + /** + * 是否开启线捕捉 + */ + var MapCatchLine = false + /** * 全要素捕捉 */ diff --git a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt index 2360b850..7a72e6ee 100644 --- a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt @@ -21,6 +21,7 @@ import org.locationtech.jts.operation.buffer.BufferOp import org.oscim.core.GeoPoint import org.oscim.core.MercatorProjection import javax.inject.Inject +import kotlin.reflect.jvm.jvmName import kotlin.streams.toList class RealmOperateHelper() { @@ -158,6 +159,7 @@ class RealmOperateHelper() { result.addAll(it) } } + realm.close() return result } @@ -278,36 +280,30 @@ class RealmOperateHelper() { val yEnd = tileYSet.stream().max(Comparator.naturalOrder()).orElse(null) val realm = getSelectTaskRealmInstance() var realmList = mutableListOf() + val realmQuery = getSelectTaskRealmTools(RenderEntity::class.java, false) + .greaterThanOrEqualTo("tileX", xStart) + .lessThanOrEqualTo("tileX", xEnd) + .greaterThanOrEqualTo("tileY", yStart) + .lessThanOrEqualTo("tileY", yEnd) + // 筛选不显示的数据 if (catchAll) { // 查询realm中对应tile号的数据 - realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) - .greaterThanOrEqualTo("tileX", xStart) - .lessThanOrEqualTo("tileX", xEnd) - .greaterThanOrEqualTo("tileY", yStart) - .lessThanOrEqualTo("tileY", yEnd) - .findAll() + realmList = realmQuery.findAll() } else { // 查询realm中对应tile号的数据 if (Constant.CATCH_ALL) { - realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) - .greaterThanOrEqualTo("tileX", xStart) - .lessThanOrEqualTo("tileX", xEnd) - .greaterThanOrEqualTo("tileY", yStart) - .lessThanOrEqualTo("tileY", yEnd) - .findAll() + realmList = realmQuery.findAll() } else { - realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) - .greaterThanOrEqualTo("tileX", xStart) - .lessThanOrEqualTo("tileX", xEnd) - .greaterThanOrEqualTo("tileY", yStart) - .lessThanOrEqualTo("tileY", yEnd) - .greaterThan("catchEnable", 0) - .findAll() + realmList = realmQuery.greaterThan("catchEnable", 0).findAll() } } // 将获取到的数据和查询的polygon做相交,只返回相交的数据 val queryResult = realmList?.stream()?.filter { - polygon.intersects(it.wkt) + if(Constant.MapCatchLine){ + polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase().equals("LINESTRING")||it.wkt?.geometryType?.uppercase().equals("POLYGON") + }else{ + polygon.intersects(it.wkt) && it.wkt?.geometryType?.uppercase().equals("POINT")||it.wkt?.geometryType?.uppercase().equals("POLYGON") + } }?.toList() queryResult?.let { if (sort) { @@ -331,7 +327,7 @@ class RealmOperateHelper() { val result = mutableListOf() val realm = getSelectTaskRealmInstance() val realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) - .notEqualTo("table", DataCodeEnum.OMDB_RD_LINK_KIND.name) + .notEqualTo("table", DataCodeEnum.OMDB_RD_LINK.name) .equalTo("properties['${LinkTable.linkPid}']", linkPid) .findAll() result.addAll(realm.copyFromRealm(realmList)) @@ -433,19 +429,26 @@ class RealmOperateHelper() { clazz: Class, enableSql: Boolean ): RealmQuery { - return if (MapParamUtils.getDataLayerEnum() != null) { - + var realmQuery = getSelectTaskRealmInstance().where(clazz) + if (MapParamUtils.getDataLayerEnum() != null) { if (enableSql) { var sql = " enable${MapParamUtils.getDataLayerEnum().sql}" getSelectTaskRealmInstance().where(clazz).rawPredicate(sql) - } else { - getSelectTaskRealmInstance().where(clazz) } - } else { - getSelectTaskRealmInstance().where(clazz) } + if(clazz.name==RenderEntity::class.jvmName){ + // 筛选不显示的数据 + if (com.navinfo.collect.library.system.Constant.HAD_LAYER_INVISIABLE_ARRAY != null && com.navinfo.collect.library.system.Constant.HAD_LAYER_INVISIABLE_ARRAY.size > 0) { + realmQuery.beginGroup() + for (type in com.navinfo.collect.library.system.Constant.HAD_LAYER_INVISIABLE_ARRAY) { + realmQuery.notEqualTo("table", type) + } + realmQuery.endGroup() + } + } + return realmQuery } fun getSelectTaskRealmInstance(): Realm { 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 5fc097ed..5fe871fd 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 @@ -781,10 +781,11 @@ class MainActivity : BaseActivity() { } /** - * 刷新地图 + * 线捕捉开关 */ - fun refrushOnclick(view: View) { - mapController.layerManagerHandler.updateOMDBVectorTileLayer() + fun catchLineOnclick(view: View) { + viewModel.setCatchRoad(!viewModel.isCatchRoad()) + binding.mainActivityMapCatchLine.isSelected = viewModel.isCatchRoad() } /** diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt index 93ca83c5..b9482bdd 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt @@ -180,6 +180,11 @@ class MainViewModel @Inject constructor( */ private var bHighRoad = true + /** + * 是不是捕捉线 + */ + private var bCatchRoad = false + /** * 是不是选择轨迹点 */ @@ -597,11 +602,15 @@ class MainViewModel @Inject constructor( */ private suspend fun captureItem(point: GeoPoint) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + var buffer = 3.2 + if(mapController.mMapView.mapLevel>=18){ + buffer = 2.0 + } val itemList = realmOperateHelper.queryElement( GeometryTools.createPoint( point.longitude, point.latitude ), - buffer = 3.2, catchAll = false, + buffer = buffer, catchAll = false, ) //增加道路线过滤原则 val filterResult = itemList.filter { @@ -1111,6 +1120,14 @@ class MainViewModel @Inject constructor( } + /** + * 开启捕捉线 + */ + fun setCatchRoad(select: Boolean) { + bCatchRoad = select + Constant.MapCatchLine = bCatchRoad + } + /** * 是否开启线高亮 */ @@ -1118,6 +1135,13 @@ class MainViewModel @Inject constructor( return bHighRoad } + /** + * 是否开启捕捉线 + */ + fun isCatchRoad(): Boolean { + return bCatchRoad + } + /** * 开启轨迹选择 */ diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt index 855790d8..657ee327 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt @@ -152,6 +152,17 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit? it.title = "锁定地图旋转及视角" } } + R.id.personal_center_menu_marker -> { + niMapController.mMapView.vtmMap.eventLayer.enableTilt(Constant.MapRotateEnable) + Constant.MapMarkerCloseEnable = !Constant.MapMarkerCloseEnable + //增加开关控制 + niMapController.markerHandle.setQsRecordMarkEnable(Constant.MapMarkerCloseEnable) + if (Constant.MapMarkerCloseEnable) { + it.title = "显示Marker" + } else { + it.title = "隐藏Marker" + } + } R.id.personal_center_menu_catch_all -> { Constant.CATCH_ALL = !Constant.CATCH_ALL if (Constant.CATCH_ALL) { @@ -220,6 +231,13 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit? it.title = "开启全要素捕捉" } } + R.id.personal_center_menu_marker -> { + if (Constant.MapMarkerCloseEnable) { + it.title = "显示Marker" + } else { + it.title = "隐藏Marker" + } + } } } } diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt index 24cd2849..5cde34aa 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskViewModel.kt @@ -487,31 +487,55 @@ class TaskViewModel @Inject constructor( fun checkUploadTask(context: Context, taskBean: TaskBean) { viewModelScope.launch(Dispatchers.IO) { val realm = Realm.getDefaultInstance() + var result = 0 + val map: MutableMap = HashMap() taskBean.hadLinkDvoList.forEach { hadLinkDvoBean -> val objects = realm.where(QsRecordBean::class.java).equalTo("linkId", hadLinkDvoBean.linkPid) .and().equalTo("taskId", hadLinkDvoBean.taskId).findAll() - val map: MutableMap = HashMap() if (objects.isEmpty() && hadLinkDvoBean.reason.isEmpty()) { - withContext(Dispatchers.Main) { - liveDataTaskUpload.postValue(map) - val mDialog = FirstDialog(context) - mDialog.setTitle("提示?") - mDialog.setMessage("此任务中存在未测评link,请确认!") - mDialog.setPositiveButton( - "确定" - ) { _, _ -> - mDialog.dismiss() - map[taskBean] = true - liveDataTaskUpload.postValue(map) - } - mDialog.setNegativeButton( - "取消" - ) { _, _ -> mDialog.dismiss() } - mDialog.show() + if(hadLinkDvoBean.linkStatus==3){ + result = 1 + realm.close() + return@forEach + }else{ + result = 2 } - return@launch } + } + if(result==1){ + withContext(Dispatchers.Main) { + liveDataTaskUpload.postValue(map) + val mDialog = FirstDialog(context) + mDialog.setTitle("提示?") + mDialog.setMessage("此任务中存在新增Link无问题记录,请添加至少一条记录!") + mDialog.setPositiveButton( + "确定" + ) { _, _ -> + mDialog.dismiss() + } + mDialog.setCancelVisibility(View.GONE) + mDialog.show() + } + }else if(result==2){ + withContext(Dispatchers.Main) { + liveDataTaskUpload.postValue(map) + val mDialog = FirstDialog(context) + mDialog.setTitle("提示?") + mDialog.setMessage("此任务中存在未测评link,请确认!") + mDialog.setPositiveButton( + "确定" + ) { _, _ -> + mDialog.dismiss() + map[taskBean] = true + liveDataTaskUpload.postValue(map) + } + mDialog.setNegativeButton( + "取消" + ) { _, _ -> mDialog.dismiss() } + mDialog.show() + } + }else{ map[taskBean] = true liveDataTaskUpload.postValue(map) } diff --git a/app/src/main/res/drawable-xxhdpi/icon_close_catch_line.png b/app/src/main/res/drawable-xxhdpi/icon_close_catch_line.png new file mode 100644 index 0000000000000000000000000000000000000000..23e89d00231494c32c915faa8be12a0942a1d69e GIT binary patch literal 1642 zcmb7_eKgYx7{`CxiAKYwO(W@NbZ1G{y}2fp%vP)@5_t`=mY0gWU!-mLwR2OHlnRY` z>19i1q(V`WvYSk?wrR;iQY7+{yZi4w=l*g3c%JWn&-t9^oaghL+T*c9PuD~j002EV zSE`pL!~Q9Rwx-|UYwK$QcHC=>p7-gQDgzs{ywaFbye>-@TYxw6^v0|f*@mGpnCh+j*UpyDI7GSf1!kKCZvf16 z#>E+u5Za*-Je%_n`w&EWwwxt3;Bg#tU7Vq|?-DkN3UhfhzzsoVTZOpd0@27vC@rK8 z+nVK!<7JwM9;1;EE*O#}Qt^L_njgpC*lS~f@w@+THKvG=Xh#!!^e0dS5x;fg& zf8m5=IWw(F4;Ka76*%}E*D$+l-FZRCSoIM5agr{1qz_(iJ z_sCe{A6c`buNdAk zI*a-HO2Iy7W+R{UDKl#?&2*34s1q6*k%zfP%h6noSv)3&V#E7Lph04+l zLrJT$&TyJ@$7c)ow~91 z;{ud;?|~hcXAcW;qu&iLxL94x68Ux>IBXQ~cCJEh3Hb*ZQ&XO_Q|=|D&7?-fH^P4YjrQ=qvCZk~828`1iu ze|uS8FdrN1Aadt#n`vs+M>pq6x}|mgW0E8FGSmEbHz?2wZq)^oA`scS%;fYFC))gA z%w8hus)u@lggn#M@xY3cyavG}ecmiVHQ>RGOSW%U{+?m;Koc*r< z+X6uRpa+mj$dtCIz}E{Yp`j0lr&0@T0>sg=k&z?5W4S7AXVhjFs_^lmQO0_D{i55+ z{XizAwe1q9x}J;#6z=)^I=!iHm1BwOipt8mdUEb+r{M9a)F{pAaG>c*aQ9uoT#i7q zUjm#bjSM>M*L(O~JY28!SU|I5`1>?Y2~>0;LVj(nJE7Mzng9@+yNHmjo!tS wfV)adGlrg?C3nq{G~TQP*#BRa|83kwcqg~;tfE_eS@S#qH<|}kKnY>}4a`0BX#fBK literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/icon_open_catch_line.png b/app/src/main/res/drawable-xxhdpi/icon_open_catch_line.png new file mode 100644 index 0000000000000000000000000000000000000000..3adb925054ee7245e60af418b44d8d0a37c6fcda GIT binary patch literal 1454 zcmaKsYdn(+0LI^UmZ4+b)w05lVX|^5Nr#+sm^SvV5|ZgcO1b4SL?ibVuOhtYMsaE> zxr}v^+p-p&R+?j?noCxSaSBPl%2CJpdOn;F&+~lyKhLKp$J4`ISI0mH003Q>#qeIt zga1lPbJ44>Y2p_HjPrJP1?uERY5-Ug3Nz?FynuIQFhbr%%=(_DdVnAYB{9EIGCOR0 zw616)O{|TXHW)W82NNuvh$R`2z!($SE8tYGE0(Z)h}NU;1DR>A;ExcGs_J`AGPpC3 z!=gGxDSdPAJ>S&In@dxNrpk6+|2B2WsV`+aui6##Ej(!f;=E+p61oGzCf=ax3bk-v zIhYcGYK4lj)~f>D*k)?PFxT-xvp6UCHy9ag#q=pIR6_HF4FU-GE6bLwh3{KR={{Fn z%)@xh|3GZ_Fj+|z=8;oU7~{_AQcveO4q96`Hk~25*Uh$i}|LHDgd^ z`=5GytpvUmd@e*Nzs2fZcB}G}1yLd|kjj84ZDF|vcYRybr<^uZWeuAjx=GbiDYOn< zM0dm+?s{^O`l9hxkNj)#tAGV)kZ0M=Ql+L32wGR~bW_}<^c(Zn z+HHKL)|Jy` z8LOANDrSJoVEtkF@jTms?H`mYv-b_anFYUVN#4BohS>H=*m87WVh)3R@r`GUdw~0(z_j86pM6QmA6Bkq6wM z0a$rYG`?C*2cBs-=t{~DB(GPIq)l;YT1j^BBnB5*gfUSQ0cTBSLU2S(I}o@xTQtdf zU-a?k^itq2i^O{s#L9kqYsaWK8(DYI67*2W)w=-?rozxWuo4{c0@6S~rXm&JU+GIo z;CA8B-A-plry3ryl-R)T4XMV3`_{>VgM>?3?WygE*f)3KsmmZZGP4be%m@ja)0W-d z>Qd$|`ep0s9-hrWRYtw~&45bo-C8*dCb#5nURN}zoVeKaF%->y>%FljG@K#_0>^gO z4!Os29;Iv*3Bmots@9XElW0V|m@MH?yFHpca=QgC&-1JaGaJxG&_?cj_i|B2{`7ZXWa26NbaV5A1R}I1=gI5kzRJdN(F-5BJ}=I3 zKqrkauzu?nS)|!RGgs39l13AifPnQU2Q$3-qWvS7>7Uy>EED~4Ufxe~{qUw++R!@u z6~V<-4MvPCp1D7n0o&UhbVPobVYh5X(D2}nSZLL&lB4mEd0!XuhO(i + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index cb8689ec..655c668c 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -248,13 +248,14 @@ app:layout_constraintLeft_toLeftOf="@id/main_activity_top_sign_recyclerview" /> + android:onClick="@{(view)->mainActivity.catchLineOnclick(view)}" + android:src="@drawable/selector_catch_line_src" + app:layout_constraintBottom_toTopOf="@id/main_activity_location" + app:layout_constraintRight_toRightOf="@id/main_activity_location" /> + app:layout_constraintBottom_toTopOf="@id/main_activity_zoom_in" + app:layout_constraintRight_toRightOf="@id/main_activity_zoom_in" /> + app:layout_constraintBottom_toTopOf="@id/main_activity_map_catch_line" + app:layout_constraintRight_toRightOf="@id/main_activity_map_catch_line" /> + app:constraint_referenced_ids="main_activity_close_line,main_activity_select_line,main_activity_voice,main_activity_note,main_activity_map_catch_line,main_activity_zoom_in,main_activity_zoom_out,main_activity_geometry,main_activity_location" /> + - + diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt index 0d3e70e9..db7e5d91 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt @@ -372,6 +372,11 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) : mMapView.updateMap(true) } + fun setQsRecordMarkEnable(enable:Boolean){ + qsRecordItemizedLayer.isEnabled = enable + mMapView.updateMap(true) + } + /** * 增加或更新便签 diff --git a/vtm b/vtm index 719c44b6..271e7b22 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit 719c44b65d3ed26d725b24b3a5366b281c9e4fad +Subproject commit 271e7b22785b0570a34c50476e17a98dfcca7e71 From 575540a03b98785cdfb4a92d91413ae6adef2a3c Mon Sep 17 00:00:00 2001 From: qiji4215 Date: Thu, 21 Sep 2023 16:14:29 +0800 Subject: [PATCH 5/5] =?UTF-8?q?1=E3=80=81=E5=A2=9E=E5=8A=A0=E8=A6=81?= =?UTF-8?q?=E7=B4=A0=E7=BA=BF=E6=8D=95=E6=8D=89=E5=BC=80=E5=85=B32?= =?UTF-8?q?=E3=80=81=E5=A2=9E=E5=8A=A0=E5=9B=BE=E5=B1=82=E5=BC=80=E5=85=B3?= =?UTF-8?q?=E4=B8=8E=E8=A6=81=E7=B4=A0=E6=8D=95=E6=8D=89=E8=81=94=E5=8A=A8?= =?UTF-8?q?3=E3=80=81=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0Marker=E6=98=BE=E9=9A=90=E5=BC=80=E5=85=B34=E3=80=81?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=81=93=E8=B7=AF=E5=B1=9E=E6=80=A7=E4=B8=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=81=93=E8=B7=AF=E7=A7=8D=E5=88=AB=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fragment/personalcenter/PersonalCenterFragment.kt | 2 +- app/src/main/res/menu/personal_center_menu.xml | 2 +- .../collect/library/map/handler/MarkHandler.kt | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt index 657ee327..04fb39ee 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt @@ -156,7 +156,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit? niMapController.mMapView.vtmMap.eventLayer.enableTilt(Constant.MapRotateEnable) Constant.MapMarkerCloseEnable = !Constant.MapMarkerCloseEnable //增加开关控制 - niMapController.markerHandle.setQsRecordMarkEnable(Constant.MapMarkerCloseEnable) + niMapController.markerHandle.setQsRecordMarkEnable(!Constant.MapMarkerCloseEnable) if (Constant.MapMarkerCloseEnable) { it.title = "显示Marker" } else { diff --git a/app/src/main/res/menu/personal_center_menu.xml b/app/src/main/res/menu/personal_center_menu.xml index 67528904..9e53afd3 100644 --- a/app/src/main/res/menu/personal_center_menu.xml +++ b/app/src/main/res/menu/personal_center_menu.xml @@ -59,7 +59,7 @@ + android:title="版本:23QE4_V1.5.3_20230920_A" /> diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt index db7e5d91..b7e38784 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt @@ -43,6 +43,8 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) : */ private val mDefaultTextColor = "#4E55AF" + private var markerEnable = true + /** * 文字画笔 */ @@ -275,7 +277,12 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) : // 设置矢量图层均在12级以上才显示 mMapView.vtmMap.events.bind(Map.UpdateListener { e, mapPosition -> if (e == Map.SCALE_EVENT) { - qsRecordItemizedLayer.isEnabled = mapPosition.getZoomLevel() >= 12 + if(markerEnable){ + qsRecordItemizedLayer.isEnabled = mapPosition.getZoomLevel() >= 12 + }else{ + qsRecordItemizedLayer.isEnabled = false + } + niLocationItemizedLayer.isEnabled = mapPosition.getZoomLevel() >= 12 } }) @@ -374,6 +381,8 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) : fun setQsRecordMarkEnable(enable:Boolean){ qsRecordItemizedLayer.isEnabled = enable + markerEnable = enable + qsRecordItemizedLayer.populate() mMapView.updateMap(true) }