From af294bbf509c8d149144a405d05b2e90e9a05f78 Mon Sep 17 00:00:00 2001 From: xiaoyan Date: Fri, 1 Sep 2023 14:24:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=9D=86=E7=8A=B6?= =?UTF-8?q?=E7=89=A9=E6=B8=B2=E6=9F=93=E4=B8=BA=E5=9B=BE=E6=A0=87=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/omdb_config.json | 19 ++++++- .../com/navinfo/omqs/db/ImportPreProcess.kt | 50 +++++++++++-------- .../personalcenter/PersonalCenterFragment.kt | 2 +- .../src/main/assets/editormarker.xml | 22 +++++--- .../src/main/assets/omdb/icon_pole_3006.svg | 1 + 5 files changed, 64 insertions(+), 30 deletions(-) create mode 100644 collect-library/src/main/assets/omdb/icon_pole_3006.svg diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index bd7dcec7..03e519c8 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -173,7 +173,7 @@ "name": "文字", "zoomMin": 15, "zoomMax": 20, - "transformer2Code": "" + "transformer": [] }, "3003":{ "table": "OMDB_OBJECT_SYMBOL", @@ -181,7 +181,22 @@ "name": "符号", "zoomMin": 15, "zoomMax": 20, - "transformer2Code": "" + "transformer": [] + }, + "3004":{ + "table": "OMDB_OBJECT_ARROW", + "code": 3004, + "name": "箭头", + "zoomMin": 15, + "zoomMax": 20, + "transformer": [ + { + "k": "geometry", + "v": "~", + "klib": "geometry", + "vlib": "obtainDynamicSrc('assets:omdb/arrowDirection/','.svg','arrowClass')" + } + ] }, "3005":{ "table": "OMDB_TRAFFIC_SIGN", 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 4be80621..b4160ae1 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -610,26 +610,28 @@ class ImportPreProcess { // 获取杆状物的高程数据 val geometry = renderEntity.wkt if (geometry != null) { - var minHeight = Double.MAX_VALUE - var maxHeight = Double.MIN_VALUE - for (coordinate in geometry.coordinates) { - if (coordinate.z < minHeight) { - minHeight = coordinate.z - } - if (coordinate.z > maxHeight) { - maxHeight = coordinate.z - } - } - for (coordinate in geometry.coordinates) { - if (coordinate.z == minHeight) { - coordinate.z = 0.0 - } - if (coordinate.z == maxHeight) { - coordinate.z = 40.0 - } - } - renderEntity.geometry = - WKTWriter(3).write(GeometryTools.createLineString(geometry.coordinates)) +// var minHeight = Double.MAX_VALUE +// var maxHeight = Double.MIN_VALUE +// for (coordinate in geometry.coordinates) { +// if (coordinate.z < minHeight) { +// minHeight = coordinate.z +// } +// if (coordinate.z > maxHeight) { +// maxHeight = coordinate.z +// } +// } +// for (coordinate in geometry.coordinates) { +// if (coordinate.z == minHeight) { +// coordinate.z = 0.0 +// } +// if (coordinate.z == maxHeight) { +// coordinate.z = 40.0 +// } +// } +// renderEntity.geometry = +// WKTWriter(3).write(GeometryTools.createLineString(geometry.coordinates)) + + renderEntity.geometry = GeometryTools.createGeometry(GeoPoint(geometry.coordinates[0].y, geometry.coordinates[0].x)).toString() } } @@ -741,4 +743,12 @@ class ImportPreProcess { Realm.getDefaultInstance().insert(dynamicSrcReference) } } + + /** + * 向当前renderEntity中添加动态属性 + * */ + fun obtainDynamicSrc(renderEntity: RenderEntity, prefix: String, suffix: String, codeName: String) { + val code = renderEntity.properties[codeName] + renderEntity.properties["src"] = "${prefix}${code}${suffix}" + } } \ No newline at end of file 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 67cc5b2a..58c38c44 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 @@ -129,7 +129,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit? // 定位到指定位置 niMapController.mMapView.vtmMap.animator() // .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 )) - .animateTo(GeoPoint( 40.503796123773355,115.81649866261817)) + .animateTo(GeoPoint( 40.50755634913162,115.80235967728436 )) } R.id.personal_center_menu_open_all_layer -> { MapParamUtils.setDataLayerEnum(DataLayerEnum.SHOW_ALL_LAYERS) diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index 585d2a59..456b8dd4 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1948,16 +1948,19 @@ + - + + - - - - - - + + + + + + + + + + + diff --git a/collect-library/src/main/assets/omdb/icon_pole_3006.svg b/collect-library/src/main/assets/omdb/icon_pole_3006.svg new file mode 100644 index 00000000..9c70037f --- /dev/null +++ b/collect-library/src/main/assets/omdb/icon_pole_3006.svg @@ -0,0 +1 @@ + \ No newline at end of file