This commit is contained in:
qiji4215
2023-09-06 09:32:13 +08:00
10 changed files with 75 additions and 470 deletions

View File

@@ -498,11 +498,6 @@
"vlib": "generateAddWidthLine()" "vlib": "generateAddWidthLine()"
} }
] ]
},
"5002":{
"table": "OMDB_AREA",
"code": 5002,
"name": "面测试"
} }
} }
}, },

View File

@@ -33,7 +33,7 @@ class Code2NameMap {
29 to "鸣笛", 29 to "鸣笛",
30 to "年检", 30 to "年检",
31 to "尾气", 31 to "尾气",
32 to "交通灯", 32 to "ETC",
33 to "专用", 33 to "专用",
34 to "标线", 34 to "标线",
35 to "违章", 35 to "违章",

View File

@@ -168,15 +168,16 @@ class ImportOMDBHelper @AssistedInject constructor(
// 遍历解压后的文件,读取该数据返回 // 遍历解压后的文件,读取该数据返回
for (importConfig in importConfigList) { for (importConfig in importConfigList) {
val realm = Realm.getDefaultInstance()
try { try {
for ((index, currentEntry) in importConfig.tableMap.entries.withIndex()) { for ((index, currentEntry) in importConfig.tableMap.entries.withIndex()) {
realm.beginTransaction()
val currentConfig = currentEntry.value val currentConfig = currentEntry.value
val txtFile = unZipFiles.find { val txtFile = unZipFiles.find {
it.name == currentConfig.table it.name == currentConfig.table
} }
// 将listResult数据插入到Realm数据库中 // 将listResult数据插入到Realm数据库中
val realm = Realm.getDefaultInstance() // val listResult = mutableListOf<RenderEntity>()
val listResult = mutableListOf<RenderEntity>()
currentConfig?.let { currentConfig?.let {
val list = FileIOUtils.readFile2List(txtFile, "UTF-8") val list = FileIOUtils.readFile2List(txtFile, "UTF-8")
Log.d("ImportOMDBHelper", "开始解析:${txtFile?.name}") Log.d("ImportOMDBHelper", "开始解析:${txtFile?.name}")
@@ -317,28 +318,28 @@ class ImportOMDBHelper @AssistedInject constructor(
} }
} }
//交限增加相同LinkIn与LinkOut过滤原则 // //交限增加相同LinkIn与LinkOut过滤原则
if (renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code) { // if (renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code) {
if (renderEntity.properties.containsKey("linkIn") && renderEntity.properties.containsKey( // if (renderEntity.properties.containsKey("linkIn") && renderEntity.properties.containsKey(
"linkOut" // "linkOut"
) // )
) { // ) {
var linkIn = renderEntity.properties["linkIn"] // var linkIn = renderEntity.properties["linkIn"]
var linkOut = renderEntity.properties["linkOut"] // var linkOut = renderEntity.properties["linkOut"]
if (linkIn != null && linkOut != null) { // if (linkIn != null && linkOut != null) {
var checkMsg = "$linkIn$linkOut" // var checkMsg = "$linkIn$linkOut"
if (resHashMap.containsKey(checkMsg)) { // if (resHashMap.containsKey(checkMsg)) {
Log.e( // Log.e(
"qj", // "qj",
"${renderEntity.name}==过滤交限linkin与linkout相同且存在多条数据" // "${renderEntity.name}==过滤交限linkin与linkout相同且存在多条数据"
) // )
continue // continue
} else { // } else {
resHashMap.put(checkMsg, renderEntity) // resHashMap.put(checkMsg, renderEntity)
} // }
} // }
} // }
} // }
//遍历判断只显示与任务Link相关的任务数据 //遍历判断只显示与任务Link相关的任务数据
if (currentConfig.checkLinkId) { if (currentConfig.checkLinkId) {
@@ -609,24 +610,23 @@ class ImportOMDBHelper @AssistedInject constructor(
renderEntity.properties["startTime"] = "null" renderEntity.properties["startTime"] = "null"
} }
} }
listResult.add(renderEntity) // listResult.add(renderEntity)
realm.insert(renderEntity)
} }
} }
} }
} }
// // 如果当前解析的是OMDB_RD_LINK数据将其缓存在预处理类中以便后续处理其他要素时使用
// if (currentConfig.table == "OMDB_RD_LINK") {
// importConfig.preProcess.cacheRdLink =
// listResult.associateBy { it.properties["linkPid"] }
// }
realm.commitTransaction()
// 1个文件发送一次flow流 // 1个文件发送一次flow流
emit("${++processIndex}/${tableNum}") emit("${++processIndex}/${tableNum}")
realm.beginTransaction()
realm.insert(listResult)
realm.commitTransaction()
realm.close()
// 如果当前解析的是OMDB_RD_LINK数据将其缓存在预处理类中以便后续处理其他要素时使用
if (currentConfig.table == "OMDB_RD_LINK") {
importConfig.preProcess.cacheRdLink =
listResult.associateBy { it.properties["linkPid"] }
}
} }
} catch (e: Exception) { } catch (e: Exception) {
realm.cancelTransaction()
throw e throw e
} }
} }

View File

@@ -20,23 +20,23 @@ class ImportPreProcess {
val defaultTranslateDistance = 3.0 val defaultTranslateDistance = 3.0
val testFlag:Boolean = true val testFlag:Boolean = true
fun checkCircleRoad(renderEntity: RenderEntity): Boolean { fun checkCircleRoad(renderEntity: RenderEntity): Boolean {
val linkInId = renderEntity.properties["linkIn"] // val linkInId = renderEntity.properties["linkIn"]
val linkOutId = renderEntity.properties["linkOut"] // val linkOutId = renderEntity.properties["linkOut"]
// 根据linkIn和linkOut获取对应的link数据 // // 根据linkIn和linkOut获取对应的link数据
val linkInEntity = cacheRdLink[linkInId] // val linkInEntity = cacheRdLink[linkInId]
val linkOutEntity = cacheRdLink[linkOutId] // val linkOutEntity = cacheRdLink[linkOutId]
Log.d( // Log.d(
"checkCircleRoad", // "checkCircleRoad",
"LinkInEntity: ${linkInId}- ${linkInEntity?.properties?.get("snodePid")}LinkOutEntity: ${linkOutId}- ${ // "LinkInEntity: ${linkInId}- ${linkInEntity?.properties?.get("snodePid")}LinkOutEntity: ${linkOutId}- ${
linkOutEntity?.properties?.get("enodePid") // linkOutEntity?.properties?.get("enodePid")
}" // }"
) // )
// 查询linkIn的sNode和linkOut的eNode是否相同如果相同认为数据是环形路口返回false // // 查询linkIn的sNode和linkOut的eNode是否相同如果相同认为数据是环形路口返回false
if (linkInEntity != null && linkOutEntity != null) { // if (linkInEntity != null && linkOutEntity != null) {
if (linkInEntity.properties["snodePid"] == linkOutEntity.properties["enodePid"] || linkInEntity.properties["enodePid"] == linkOutEntity.properties["snodePid"] || linkInEntity.properties["snodePid"] == linkOutEntity.properties["snodePid"] || linkInEntity.properties["enodePid"] == linkOutEntity.properties["enodePid"]) { // if (linkInEntity.properties["snodePid"] == linkOutEntity.properties["enodePid"] || linkInEntity.properties["enodePid"] == linkOutEntity.properties["snodePid"] || linkInEntity.properties["snodePid"] == linkOutEntity.properties["snodePid"] || linkInEntity.properties["enodePid"] == linkOutEntity.properties["enodePid"]) {
return false // return false
} // }
} // }
return true return true
} }
@@ -58,7 +58,7 @@ class ImportPreProcess {
)!=null) { )!=null) {
var angle = renderEntity?.properties?.get("angle")?.toDouble()!! var angle = renderEntity?.properties?.get("angle")?.toDouble()!!
// angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角 // angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角
angle = (450 - angle) % 360 angle = -((450 - angle) % 360)
radian = Math.toRadians(angle) radian = Math.toRadians(angle)
} else { } else {
var isReverse = false // 是否为逆向 var isReverse = false // 是否为逆向
@@ -135,7 +135,7 @@ class ImportPreProcess {
// angle += 180 // angle += 180
// } // }
// angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角 // angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角
angle = (450 - angle) % 360 angle = -((450 - angle) % 360)
radian = Math.toRadians(angle) radian = Math.toRadians(angle)
} else if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) { } else if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) {
var coordinates = geometry.coordinates var coordinates = geometry.coordinates
@@ -309,7 +309,7 @@ class ImportPreProcess {
"angle" "angle"
)?.toDouble()!! )?.toDouble()!!
// angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角 // angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角
angle = (450 - angle) % 360 angle = -((450 - angle) % 360)
radian = Math.toRadians(angle) radian = Math.toRadians(angle)
} else if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) { } else if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) {
var coordinates = geometry.coordinates var coordinates = geometry.coordinates
@@ -333,7 +333,7 @@ class ImportPreProcess {
} }
} else renderEntity?.properties?.get("angle")?.toDouble()!! } else renderEntity?.properties?.get("angle")?.toDouble()!!
angle = (450 - angle) % 360 angle = -((450 - angle) % 360)
radian = Math.toRadians(angle) radian = Math.toRadians(angle)
} }
@@ -460,9 +460,10 @@ class ImportPreProcess {
referenceEntity.properties["currentDirect"] = referenceEntity.properties["currentDirect"] =
laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_") laneInfoDirectArray[i].toString().split(",").distinct().joinToString("_")
referenceEntity.properties["currentType"] = referenceEntity.properties["currentType"] =
laneInfoTypeArray[i].toString().split(",").distinct().joinToString("_") laneInfoTypeArray[i].toString()
val type = if (referenceEntity.properties["currentType"]=="0") "normal" else if (referenceEntity.properties["currentType"]=="1") "extend" else "bus"
referenceEntity.properties["symbol"] = referenceEntity.properties["symbol"] =
"assets:omdb/4601/bus/1301_" + referenceEntity.properties["currentDirect"] + ".svg" "assets:omdb/4601/${type}/1301_${referenceEntity.properties["currentDirect"]}.svg"
Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString()) Log.d("unpackingLaneInfo", referenceEntity.properties["symbol"].toString())
Realm.getDefaultInstance().insert(referenceEntity) Realm.getDefaultInstance().insert(referenceEntity)
} }
@@ -696,7 +697,7 @@ class ImportPreProcess {
"angle" "angle"
)?.toDouble()!! )?.toDouble()!!
// angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角 // angle角度为与正北方向的顺时针夹角将其转换为与X轴正方向的逆时针夹角即为正东方向的夹角
angle = (450 - angle) % 360 angle = -((450 - angle) % 360)
radian = Math.toRadians(angle) radian = Math.toRadians(angle)
} else if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) { } else if (Geometry.TYPENAME_LINESTRING == geometry?.geometryType) {
var coordinates = geometry.coordinates var coordinates = geometry.coordinates
@@ -717,7 +718,7 @@ class ImportPreProcess {
} }
} else renderEntity?.properties?.get("angle")?.toDouble()!! } else renderEntity?.properties?.get("angle")?.toDouble()!!
angle = (450 - angle) % 360 angle = -((450 - angle) % 360)
radian = Math.toRadians(angle) radian = Math.toRadians(angle)
} }

View File

@@ -129,7 +129,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
// 定位到指定位置 // 定位到指定位置
niMapController.mMapView.vtmMap.animator() niMapController.mMapView.vtmMap.animator()
// .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 )) // .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 ))
.animateTo(GeoPoint( 40.50755634913162,115.80235967728436 )) .animateTo(GeoPoint(40.51850916836801,115.78801387178642))
} }
R.id.personal_center_menu_open_all_layer -> { R.id.personal_center_menu_open_all_layer -> {
MapParamUtils.setDataLayerEnum(DataLayerEnum.SHOW_ALL_LAYERS) MapParamUtils.setDataLayerEnum(DataLayerEnum.SHOW_ALL_LAYERS)

View File

@@ -257,7 +257,7 @@
<xs:attribute name="repeat-start" default="30" type="xs:float" use="optional"/> <xs:attribute name="repeat-start" default="30" type="xs:float" use="optional"/>
<xs:attribute name="rotate" default="true" type="xs:boolean" use="optional"/> <xs:attribute name="rotate" default="true" type="xs:boolean" use="optional"/>
<!-- 设置是否支持图标压盖如果为true则同点位图标不避让允许压盖否则支持自动避让 --> <!-- 设置是否支持图标压盖如果为true则同点位图标不避让允许压盖否则支持自动避让 -->
<xs:attribute name="gland" default="false" type="xs:boolean" use="optional"/> <xs:attribute name="gland" default="true" type="xs:boolean" use="optional"/>
<!-- 原图标旋转角度默认情况下应该使用以X轴为正方向的图标此处可设置原图标的旋转角度在渲染时自动对图标进行旋转仅支持线要素 --> <!-- 原图标旋转角度默认情况下应该使用以X轴为正方向的图标此处可设置原图标的旋转角度在渲染时自动对图标进行旋转仅支持线要素 -->
<xs:attribute name="degree" default="0" type="xs:float" use="optional"/> <xs:attribute name="degree" default="0" type="xs:float" use="optional"/>
</xs:complexType> </xs:complexType>

View File

@@ -1555,404 +1555,8 @@
<!-- 车信 --> <!-- 车信 -->
<m v="OMDB_LANEINFO" > <m v="OMDB_LANEINFO" >
<m k="currentType" v="0"> <symbol repeat="false" repeat-start="0" repeat-gap="2000"
<m k="currentDirect" v="1"> src="@symbol" symbol-height="24" degree="90"></symbol>
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_2.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_2_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_2_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_2_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_2_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_2_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_3_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_3_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_7">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_1_7.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_2.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_2_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_2_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_2_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_2_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_2_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_3_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_3_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="4_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_4_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="4_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_4_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="5_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_5_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="7">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/normal/1301_7.svg" symbol-height="24" degree="90"></symbol>
</m>
</m>
<m k="currentType" v="1">
<m k="currentDirect" v="0">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_0.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_2.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_2_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_2_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_2_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_2_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_2_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_3_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_3_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_7">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_1_7.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_2.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_2_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_2_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_2_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_2_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_2_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_3_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_3_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="4_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_4_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="4_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_4_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="5_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_5_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="7">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/extend/1301_7.svg" symbol-height="24" degree="90"></symbol>
</m>
</m>
<m k="currentType" v="2">
<m k="currentDirect" v="0">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_0.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_2.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_2_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_2_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_2_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_2_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_2_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_2_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_3_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_3_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_3_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="1_7">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_1_7.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_2.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_2_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_2_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_2_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_2_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="2_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_2_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_3.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3_4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_3_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_3_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="3_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_3_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="4">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_4.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="4_5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_4_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="4_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_4_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="5">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_5.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="5_6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_5_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="6">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_6.svg" symbol-height="24" degree="90"></symbol>
</m>
<m k="currentDirect" v="7">
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="assets:omdb/4601/bus/1301_7.svg" symbol-height="24" degree="90"></symbol>
</m>
</m>
</m> </m>
<!-- 杆状物 --> <!-- 杆状物 -->
@@ -2306,8 +1910,8 @@
</m> </m>
<m k="type" v="angle"> <m k="type" v="angle">
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true" <symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true"
src="assets:omdb/icon_arrow_right.svg" symbol-height="64" src="assets:omdb/icon_arrow_right.svg" symbol-height="56"
symbol-width="64"></symbol> symbol-width="56"></symbol>
</m> </m>
<m k="type" v="s_2_e"> <m k="type" v="s_2_e">
<line use="s2e" /> <line use="s2e" />

View File

@@ -317,7 +317,7 @@ open class ClusterMarkerRenderer : MarkerRenderer {
// this item will act as a cluster, just use a proper bitmap // this item will act as a cluster, just use a proper bitmap
// depending on cluster size, instead of its marker // depending on cluster size, instead of its marker
val bitmap = getClusterBitmap(it.clusterSize + 1) val bitmap = getClusterBitmap(it.clusterSize + 1)
s.set(it.x, it.y, bitmap, true, false, 0f) s.set(it.x, it.y, bitmap, true, false, 0f, 0f)
s.offset = PointF(0.5f, 0.5f) s.offset = PointF(0.5f, 0.5f)
s.billboard = true // could be a parameter s.billboard = true // could be a parameter
} else { } else {
@@ -325,7 +325,7 @@ open class ClusterMarkerRenderer : MarkerRenderer {
var symbol: MarkerSymbol? = it.item.marker var symbol: MarkerSymbol? = it.item.marker
if (symbol == null) symbol = mDefaultMarker if (symbol == null) symbol = mDefaultMarker
symbol?.let { symbol -> symbol?.let { symbol ->
s.set(it.x, it.y, symbol.bitmap, true, false, 0f) s.set(it.x, it.y, symbol.bitmap, true, false, 0f, 0f)
s.offset = symbol.hotspot s.offset = symbol.hotspot
s.billboard = symbol.isBillboard s.billboard = symbol.isBillboard
} }

View File

@@ -15,6 +15,7 @@ import okhttp3.Cache
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import org.oscim.android.theme.AssetsRenderTheme import org.oscim.android.theme.AssetsRenderTheme
import org.oscim.layers.GroupLayer import org.oscim.layers.GroupLayer
import org.oscim.layers.TileGridLayer
import org.oscim.layers.tile.buildings.BuildingLayer import org.oscim.layers.tile.buildings.BuildingLayer
import org.oscim.layers.tile.vector.VectorTileLayer import org.oscim.layers.tile.vector.VectorTileLayer
import org.oscim.layers.tile.vector.labeling.LabelLayer import org.oscim.layers.tile.vector.labeling.LabelLayer
@@ -55,6 +56,7 @@ class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView, traceP
private lateinit var omdbReferenceTileLayer: VectorTileLayer private lateinit var omdbReferenceTileLayer: VectorTileLayer
private lateinit var omdbLabelLayer: LabelLayer private lateinit var omdbLabelLayer: LabelLayer
private lateinit var omdbReferenceLabelLayer: LabelLayer private lateinit var omdbReferenceLabelLayer: LabelLayer
private lateinit var tileGridLayer: TileGridLayer // 用来显示tile号的layer
private val omdbTileSource by lazy { OMDBTileSource() } private val omdbTileSource by lazy { OMDBTileSource() }
private val omdbReferenceTileSource by lazy { OMDBReferenceTileSource() } private val omdbReferenceTileSource by lazy { OMDBReferenceTileSource() }
@@ -141,6 +143,9 @@ class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView, traceP
// 向两个Vector图层增加hook钩子加载数据前对style或数据进行二次处理 // 向两个Vector图层增加hook钩子加载数据前对style或数据进行二次处理
omdbVectorTileLayer.addHook(navinfoTileThemeHook) omdbVectorTileLayer.addHook(navinfoTileThemeHook)
omdbReferenceTileLayer.addHook(navinfoTileThemeHook) omdbReferenceTileLayer.addHook(navinfoTileThemeHook)
// 添加显示grid的tile号的图层
tileGridLayer = TileGridLayer(mMapView.vtmMap)
addLayer(tileGridLayer, NIMapView.LAYER_GROUPS.OPERATE_MARKER)
} }
private fun resetOMDBVectorTileLayer() { private fun resetOMDBVectorTileLayer() {

2
vtm

Submodule vtm updated: 985dc0a0d5...a087521b6e