diff --git a/app/src/main/assets/omdb_config.json b/app/src/main/assets/omdb_config.json index f356a4be..04357aa9 100644 --- a/app/src/main/assets/omdb_config.json +++ b/app/src/main/assets/omdb_config.json @@ -223,12 +223,7 @@ "k": "geometry", "v": "~", "klib": "geometry", - "vlib": "normalizationTrafficSignHeight()" - },{ - "k": "geometry", - "v": "~", - "klib": "geometry", - "vlib": "generateDirectReferenceLine('', 0.2)" + "vlib": "obtainTrafficSignCenterPoint()" } ] }, 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 7cf7dca1..9dc13333 100644 --- a/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt +++ b/app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt @@ -815,4 +815,40 @@ class ImportPreProcess { val code = renderEntity.properties[codeName] renderEntity.properties["src"] = "${prefix}${code}${suffix}" } + + /** + * 获取当前数据的中心点坐标 + * */ + fun obtainTrafficSignCenterPoint(renderEntity: RenderEntity) { + // 获取中心坐标点,将中心坐标作为数据的新的geometry位置 + val centerPoint = renderEntity.wkt?.centroid + // 根据heading方向自动生成新的Geometry + var radian = 0.0 + val pointStart = Coordinate(centerPoint!!.x, centerPoint.y) + var angle = + if (renderEntity?.properties?.get("heading") == null) 0.0 else renderEntity?.properties?.get( + "heading" + )?.toDouble()!! + // angle角度为与正北方向的顺时针夹角,将其转换为与X轴正方向的逆时针夹角,即为正东方向的夹角 + angle = ((450 - angle) % 360) + radian = Math.toRadians(angle) + + // 计算偏移距离 + var dx: Double = GeometryTools.convertDistanceToDegree( + defaultTranslateDistance, + centerPoint.y + ) * Math.cos(radian) + var dy: Double = GeometryTools.convertDistanceToDegree( + defaultTranslateDistance, + centerPoint.y + ) * Math.sin(radian) + val listResult = mutableListOf() + + val coorEnd = Coordinate(pointStart.getX() + dx, pointStart.getY() + dy, pointStart.z) + renderEntity.geometry = + WKTWriter(3).write(GeometryTools.createLineString(arrayOf(pointStart, coorEnd))) + + val code = renderEntity.properties["signType"] + renderEntity.properties["src"] = "assets:omdb/appendix/1105_${code}_0.svg" + } } \ 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 334dc98d..c09ca51a 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.51850916836801, 115.78801387178642)) + .animateTo(GeoPoint(40.09848700000006, 116.53088699999999)) } 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 fd8870b0..727b9f79 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1566,12 +1566,10 @@ - - - - - - + + + - + + + + + + + + + + + + + + + + + + @@ -1955,7 +1970,7 @@ - + diff --git a/vtm b/vtm index 41610ce5..f2af87c6 160000 --- a/vtm +++ b/vtm @@ -1 +1 @@ -Subproject commit 41610ce5fe5a10d5c9c32409cbc712e7047a9b9b +Subproject commit f2af87c6a012ac41d6f22a77d6b45853b250ed3e