feat: 动态marker配置支持多图标设置

This commit is contained in:
2023-11-17 09:24:53 +08:00
parent 35301e4c48
commit 89b862a0cd
6 changed files with 47 additions and 36 deletions

View File

@@ -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": "~",

View File

@@ -631,30 +631,40 @@ class ImportPreProcess {
val listResult = mutableListOf<ReferenceEntity>()
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 += "|"
}