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

View File

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

View File

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

View File

@ -168,15 +168,16 @@ class ImportOMDBHelper @AssistedInject constructor(
// 遍历解压后的文件,读取该数据返回
for (importConfig in importConfigList) {
val realm = Realm.getDefaultInstance()
try {
for ((index, currentEntry) in importConfig.tableMap.entries.withIndex()) {
realm.beginTransaction()
val currentConfig = currentEntry.value
val txtFile = unZipFiles.find {
it.name == currentConfig.table
}
// 将listResult数据插入到Realm数据库中
val realm = Realm.getDefaultInstance()
val listResult = mutableListOf<RenderEntity>()
// val listResult = mutableListOf<RenderEntity>()
currentConfig?.let {
val list = FileIOUtils.readFile2List(txtFile, "UTF-8")
Log.d("ImportOMDBHelper", "开始解析:${txtFile?.name}")
@ -317,28 +318,28 @@ class ImportOMDBHelper @AssistedInject constructor(
}
}
//交限增加相同LinkIn与LinkOut过滤原则
if (renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code) {
if (renderEntity.properties.containsKey("linkIn") && renderEntity.properties.containsKey(
"linkOut"
)
) {
var linkIn = renderEntity.properties["linkIn"]
var linkOut = renderEntity.properties["linkOut"]
if (linkIn != null && linkOut != null) {
var checkMsg = "$linkIn$linkOut"
if (resHashMap.containsKey(checkMsg)) {
Log.e(
"qj",
"${renderEntity.name}==过滤交限linkin与linkout相同且存在多条数据"
)
continue
} else {
resHashMap.put(checkMsg, renderEntity)
}
}
}
}
// //交限增加相同LinkIn与LinkOut过滤原则
// if (renderEntity.code == DataCodeEnum.OMDB_RESTRICTION.code) {
// if (renderEntity.properties.containsKey("linkIn") && renderEntity.properties.containsKey(
// "linkOut"
// )
// ) {
// var linkIn = renderEntity.properties["linkIn"]
// var linkOut = renderEntity.properties["linkOut"]
// if (linkIn != null && linkOut != null) {
// var checkMsg = "$linkIn$linkOut"
// if (resHashMap.containsKey(checkMsg)) {
// Log.e(
// "qj",
// "${renderEntity.name}==过滤交限linkin与linkout相同且存在多条数据"
// )
// continue
// } else {
// resHashMap.put(checkMsg, renderEntity)
// }
// }
// }
// }
//遍历判断只显示与任务Link相关的任务数据
if (currentConfig.checkLinkId) {
@ -609,24 +610,23 @@ class ImportOMDBHelper @AssistedInject constructor(
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流
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) {
realm.cancelTransaction()
throw e
}
}

View File

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

View File

@ -129,7 +129,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
// 定位到指定位置
niMapController.mMapView.vtmMap.animator()
// .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 -> {
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="rotate" default="true" type="xs:boolean" use="optional"/>
<!-- 设置是否支持图标压盖如果为true则同点位图标不避让允许压盖否则支持自动避让 -->
<xs:attribute name="gland" default="false" type="xs:boolean" use="optional"/>
<xs:attribute name="gland" default="true" type="xs:boolean" use="optional"/>
<!-- 原图标旋转角度默认情况下应该使用以X轴为正方向的图标此处可设置原图标的旋转角度在渲染时自动对图标进行旋转仅支持线要素 -->
<xs:attribute name="degree" default="0" type="xs:float" use="optional"/>
</xs:complexType>

View File

@ -1555,404 +1555,8 @@
<!-- 车信 -->
<m v="OMDB_LANEINFO" >
<m k="currentType" v="0">
<m k="currentDirect" v="1">
<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>
<symbol repeat="false" repeat-start="0" repeat-gap="2000"
src="@symbol" symbol-height="24" degree="90"></symbol>
</m>
<!-- 杆状物 -->
@ -2306,8 +1910,8 @@
</m>
<m k="type" v="angle">
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true"
src="assets:omdb/icon_arrow_right.svg" symbol-height="64"
symbol-width="64"></symbol>
src="assets:omdb/icon_arrow_right.svg" symbol-height="56"
symbol-width="56"></symbol>
</m>
<m k="type" v="s_2_e">
<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
// depending on cluster size, instead of its marker
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.billboard = true // could be a parameter
} else {
@ -325,7 +325,7 @@ open class ClusterMarkerRenderer : MarkerRenderer {
var symbol: MarkerSymbol? = it.item.marker
if (symbol == null) symbol = mDefaultMarker
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.billboard = symbol.isBillboard
}

View File

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

2
vtm

@ -1 +1 @@
Subproject commit 985dc0a0d590ef6f6784ee2ee5c1c148dff1c46d
Subproject commit a087521b6e1b312d7ed2bdf20f83b0e674fad9b5