From 8fea0fb041b95a9aea37758d61815461c3cdfbed Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Fri, 3 Nov 2023 17:48:12 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0marker=E5=A4=96?= =?UTF-8?q?=E8=BE=B9=E6=A1=86=EF=BC=8C=E8=B0=83=E6=9F=A5=E6=B8=B2=E6=9F=93?= =?UTF-8?q?=E7=A8=80=E7=96=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/navinfo/omqs/db/ImportPreProcess.kt | 2 +- collect-library/src/main/assets/editormarker.xml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 81857102..2ba14f5f 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -1206,7 +1206,7 @@ class ImportPreProcess { private fun createZLevelReference(renderEntity: RenderEntity): ReferenceEntity { val zLevelReference = ReferenceEntity() - zLevelReference.renderEntityId = renderEntity.id +// zLevelReference.renderEntityId = renderEntity.id zLevelReference.name = "${renderEntity.name}参考点" zLevelReference.code = renderEntity.code zLevelReference.table = renderEntity.table diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index f3e26dc5..ec5cbee9 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -2077,20 +2077,20 @@ - + - + - + - + From 35301e4c4889b1520f3774595adbd0ce162807d2 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Wed, 8 Nov 2023 15:50:17 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=8A=A8=E6=80=81?= =?UTF-8?q?marker=E6=98=BE=E7=A4=BA=E9=94=99=E4=B9=B1=E7=9A=84=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 | 1 + .../omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 0a684a78..0753131a 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -287,6 +287,7 @@ "zoomMax": 20, "is3D": true, "catch": true, + "checkLinkId": false, "transformer": [ { "k": "geometry", 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 51342551..9f933f8a 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 @@ -196,7 +196,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit? // 定位到指定位置 niMapController.mMapView.vtmMap.animator() // .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 )) - .animateTo(GeoPoint(39.63769191655024, 115.58991663847937)) + .animateTo(GeoPoint(40.07290793293324, 116.24617660398738 )) } R.id.personal_center_menu_open_all_layer -> { From 89b862a0cdb65acf8bc781bab5578de60e6f8673 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Fri, 17 Nov 2023 09:24:53 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=E5=8A=A8=E6=80=81marker=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=94=AF=E6=8C=81=E5=A4=9A=E5=9B=BE=E6=A0=87=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 8 ++- .../com/navinfo/omqs/db/ImportPreProcess.kt | 62 +++++++++++-------- collect-library/resources/rendertheme.xsd | 2 +- .../src/main/assets/editormarker.xml | 2 +- .../map/source/OMDBTileDataSource.java | 7 +-- vtm | 2 +- 6 files changed, 47 insertions(+), 36 deletions(-) diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index 0753131a..3bb6fe58 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -283,7 +283,7 @@ "table": "OMDB_TRAFFIC_SIGN", "code": 3005, "name": "交通标牌", - "zoomMin": 18, + "zoomMin": 17, "zoomMax": 20, "is3D": true, "catch": true, @@ -592,6 +592,12 @@ "zoomMin": 15, "zoomMax": 17, "transformer": [ + { + "k": "geometry", + "v": "~", + "klib": "geometry", + "vlib": "translateBack()" + }, { "k": "geometry", "v": "~", diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 49e281ab..c9db611c 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -631,30 +631,40 @@ class ImportPreProcess { val listResult = mutableListOf() for (i in 0 until laneInfoDirectArray.length()) { - // 根据后续的数据生成辅助表数据 - val referenceEntity = ReferenceEntity() -// referenceEntity.renderEntityId = renderEntity.id - referenceEntity.name = "${renderEntity.name}参考方向" - referenceEntity.table = renderEntity.table - referenceEntity.enable = renderEntity.enable - referenceEntity.code = renderEntity.code - referenceEntity.taskId = renderEntity.taskId - referenceEntity.zoomMin = renderEntity.zoomMin - referenceEntity.zoomMax = renderEntity.zoomMax - // 与原数据使用相同的geometry - referenceEntity.geometry = renderEntity.geometry - referenceEntity.properties["qi_table"] = renderEntity.table - referenceEntity.properties["currentDirect"] = + val currentDirect = laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_") - referenceEntity.properties["currentType"] = + val currentType = laneInfoTypeArray[i].toString() val type = - if (referenceEntity.properties["currentType"] == "0") "normal" else if (referenceEntity.properties["currentType"] == "1") "extend" else "bus" - referenceEntity.properties["symbol"] = - "assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg" - Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString()) - referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) - renderEntity.referenceEntitys?.add(referenceEntity) + if (currentType == "0") "normal" else if (currentType == "1") "extend" else "bus" + val symbol = + "assets:omdb/4601/${type}/1301_${currentDirect}.svg" + renderEntity.properties["src"] = if(renderEntity.properties["src"].isNullOrEmpty()) symbol else "${renderEntity.properties["src"]}|${symbol}" + +// // 根据后续的数据生成辅助表数据 +// val referenceEntity = ReferenceEntity() +//// referenceEntity.renderEntityId = renderEntity.id +// referenceEntity.name = "${renderEntity.name}参考方向" +// referenceEntity.table = renderEntity.table +// referenceEntity.enable = renderEntity.enable +// referenceEntity.code = renderEntity.code +// referenceEntity.taskId = renderEntity.taskId +// referenceEntity.zoomMin = renderEntity.zoomMin +// referenceEntity.zoomMax = renderEntity.zoomMax +// // 与原数据使用相同的geometry +// referenceEntity.geometry = renderEntity.geometry +// referenceEntity.properties["qi_table"] = renderEntity.table +// referenceEntity.properties["currentDirect"] = +// laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_") +// referenceEntity.properties["currentType"] = +// laneInfoTypeArray[i].toString() +// val type = +// if (referenceEntity.properties["currentType"] == "0") "normal" else if (referenceEntity.properties["currentType"] == "1") "extend" else "bus" +// referenceEntity.properties["symbol"] = +// "assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg" +// Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString()) +// referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) +// renderEntity.referenceEntitys?.add(referenceEntity) //listResult.add(referenceEntity) } //insertData(listResult) @@ -1079,22 +1089,22 @@ class ImportPreProcess { // 解析accessCharacteristic,判断是否存在指定属性 val accessCharacteristic = renderEntity.properties["accessCharacteristic"].toString().toInt() var str = "" - if (accessCharacteristic.and(4)>0) { + if (accessCharacteristic.and(0b100)>0) { str += "公" } - if (accessCharacteristic.and(8)>0) { + if (accessCharacteristic.and(0b1000)>0) { if (str.isNotEmpty()) { str += "|" } - str += "多" + str += "HOV" } - if (accessCharacteristic.and(64)>0) { + if (accessCharacteristic.and(0b1000000)>0) { if (str.isNotEmpty()) { str += "|" } str += "行" } - if (accessCharacteristic.and(128)>0) { + if (accessCharacteristic.and(0b10000000)>0) { if (str.isNotEmpty()) { str += "|" } diff --git a/collect-library/resources/rendertheme.xsd b/collect-library/resources/rendertheme.xsd index fa7348c9..150d511c 100644 --- a/collect-library/resources/rendertheme.xsd +++ b/collect-library/resources/rendertheme.xsd @@ -257,7 +257,7 @@ - + diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index ec5cbee9..320145f6 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1556,7 +1556,7 @@ + src="@src" symbol-height="24" degree="90"> diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java index 49112267..c4b8436f 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java @@ -1,7 +1,6 @@ package com.navinfo.collect.library.map.source; import android.os.Build; -import android.util.Log; import androidx.annotation.RequiresApi; @@ -11,21 +10,17 @@ import com.navinfo.collect.library.utils.GeometryTools; import com.navinfo.collect.library.utils.MapParamUtils; import org.locationtech.jts.geom.Polygon; -import org.oscim.core.MapPosition; import org.oscim.layers.tile.MapTile; -import org.oscim.map.Map; import org.oscim.map.Viewport; import org.oscim.tiling.ITileDataSink; import org.oscim.tiling.ITileDataSource; import org.oscim.tiling.QueryResult; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; import io.realm.Realm; -import io.realm.RealmConfiguration; import io.realm.RealmQuery; public class OMDBTileDataSource implements ITileDataSource { @@ -129,7 +124,7 @@ public class OMDBTileDataSource implements ITileDataSource { realmQuery.endGroup(); } long time = System.currentTimeMillis(); - List listResult = realmQuery.findAll(); + List listResult = realm.copyFromRealm(realmQuery.findAll()); long newTime = System.currentTimeMillis() - time; // Log.e("jingo", "当前OMDBTileDataSource " + Thread.currentThread().hashCode() + " 当前realm " + realm.hashCode() + " 查询耗时" + newTime + " 条数" + listResult.size()); diff --git a/vtm b/vtm index ee88167c..3eb80a33 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit ee88167c7de989b3f7c71ae00d9580ff91fd3bf6 +Subproject commit 3eb80a33c6b54609a47083c38fe35fd4916edba9 From 2e0712ed2b208ce31d15a1c1ae1d2c987c7d418d Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Tue, 21 Nov 2023 17:06:24 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E8=BD=A6=E4=BF=A1?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/navinfo/omqs/db/ImportPreProcess.kt | 17 +++++++++++++++-- .../src/main/assets/editormarker.xml | 6 ++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt index 41ec9cee..366115a7 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -626,8 +626,19 @@ class ImportPreProcess { // 分别获取两个数组中的数据,取第一个作为主数据,另外两个作为辅助渲染数据 val laneInfoDirectArray = JSONArray(laneinfoGroup[0].toString()) val laneInfoTypeArray = JSONArray(laneinfoGroup[1].toString()) - val listResult = mutableListOf() + val referenceEntity = ReferenceEntity() + referenceEntity.name = "${renderEntity.name}参考方向" + referenceEntity.table = renderEntity.table + referenceEntity.enable = renderEntity.enable + referenceEntity.code = renderEntity.code + referenceEntity.taskId = renderEntity.taskId + referenceEntity.zoomMin = renderEntity.zoomMin + referenceEntity.zoomMax = renderEntity.zoomMax + // 与原数据使用相同的geometry + referenceEntity.geometry = renderEntity.geometry + referenceEntity.properties["qi_table"] = renderEntity.table + referenceEntity.properties["symbol"] = "true" for (i in 0 until laneInfoDirectArray.length()) { val currentDirect = laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_") @@ -637,7 +648,7 @@ class ImportPreProcess { if (currentType == "0") "normal" else if (currentType == "1") "extend" else "bus" val symbol = "assets:omdb/4601/${type}/1301_${currentDirect}.svg" - renderEntity.properties["src"] = if(renderEntity.properties["src"].isNullOrEmpty()) symbol else "${renderEntity.properties["src"]}|${symbol}" + referenceEntity.properties["img-src"] = if(referenceEntity.properties["img-src"].isNullOrEmpty()) symbol else "${referenceEntity.properties["img-src"]}|${symbol}" // // 根据后续的数据生成辅助表数据 // val referenceEntity = ReferenceEntity() @@ -665,6 +676,8 @@ class ImportPreProcess { // renderEntity.referenceEntitys?.add(referenceEntity) //listResult.add(referenceEntity) } + referenceEntity.propertiesDb = DeflaterUtil.zipString(JSON.toJSONString(referenceEntity.properties)) + renderEntity.referenceEntitys?.add(referenceEntity) //insertData(listResult) } //将主表线转化为单个点,按点要素实现捕捉 diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 4152c484..548dc8b9 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1555,8 +1555,10 @@ - + + +