Merge branch 'master' of gitlab.navinfo.com:CollectVehicle/OneMapQS
Conflicts: app/src/main/assets/omdb_config.json app/src/main/java/com/navinfo/omqs/db/ImportOMDBHelper.kt app/src/main/java/com/navinfo/omqs/db/ImportPreProcess.kt vtm
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -458,10 +458,10 @@ class ImportOMDBHelper @AssistedInject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
} else if (renderEntity.code.toInt() == DataCodeEnum.OMDB_INTERSECTION.code.toInt() && renderEntity.properties.containsKey(
|
||||
"linkList"
|
||||
)
|
||||
) {
|
||||
} else if (renderEntity.code.toInt() == DataCodeEnum.OMDB_INTERSECTION.code.toInt()||renderEntity.code.toInt() == DataCodeEnum.OMDB_LANE_CONSTRUCTION.code.toInt() && renderEntity.properties.containsKey(
|
||||
"linkList"
|
||||
)
|
||||
) {
|
||||
|
||||
if (renderEntity.properties["linkList"] != null) {
|
||||
|
||||
@@ -805,26 +805,6 @@ class ImportOMDBHelper @AssistedInject constructor(
|
||||
}
|
||||
bufferedReader.close()
|
||||
}
|
||||
|
||||
|
||||
// // 将listResult数据插入到Realm数据库中
|
||||
// currentConfig.let {
|
||||
// val list = FileIOUtils.readFile2List(txtFile, "UTF-8")
|
||||
//// Log.d("ImportOMDBHelper", "开始解析:${txtFile?.name}")
|
||||
// if (list != null) {
|
||||
// // 将list数据转换为map
|
||||
// for ((index, line) in list.withIndex()) {
|
||||
//
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// // 如果当前解析的是OMDB_RD_LINK数据,将其缓存在预处理类中,以便后续处理其他要素时使用
|
||||
// if (currentConfig.code == DataCodeEnum.OMDB_RD_LINK.code.toInt()) {
|
||||
//// importConfig.preProcess.cacheRdLink =
|
||||
//// listResult.associateBy { it.properties["linkPid"] }
|
||||
// // 将sNodeId和eNodeId放在外层关联对象中,优化查询效率
|
||||
// }
|
||||
// 1个文件发送一次flow流
|
||||
emit("${processIndex}/${tableNum}")
|
||||
// Log.d("ImportOMDBHelper", "表解析===2${currentConfig.table}")
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.navinfo.collect.library.utils.GeometryTools
|
||||
import com.navinfo.collect.library.utils.StrZipUtil
|
||||
import com.navinfo.omqs.Constant
|
||||
import io.realm.Realm
|
||||
import io.realm.RealmModel
|
||||
import org.json.JSONArray
|
||||
import org.json.JSONObject
|
||||
import org.locationtech.jts.algorithm.Angle
|
||||
@@ -57,9 +58,6 @@ class ImportPreProcess {
|
||||
}
|
||||
}
|
||||
}
|
||||
// // 根据linkIn和linkOut从数据库获取对应的link数据
|
||||
// Realm.getInstance(Constant.currentInstallTaskConfig)
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -248,6 +246,59 @@ class ImportPreProcess {
|
||||
insertData(listResult)
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成车道类型起终点参考数据
|
||||
* */
|
||||
fun generateLaneTypeAccessS2ERefPoint(renderEntity: RenderEntity) {
|
||||
// 如果车道类型非常规车道(第0bit的数据),则需要生成辅助数据
|
||||
if (renderEntity.properties["laneType"]!!.toInt()>0) {
|
||||
val geometry = GeometryTools.createGeometry(renderEntity.properties["geometry"])
|
||||
|
||||
val pointEnd = geometry!!.coordinates[geometry.numPoints - 1] // 获取这个geometry对应的结束点坐标
|
||||
val pointStart = geometry!!.coordinates[0] // 获取这个geometry对应的起点
|
||||
val listResult = mutableListOf<ReferenceEntity>()
|
||||
|
||||
// 将这个起终点的线记录在数据中
|
||||
val startReference = ReferenceEntity()
|
||||
startReference.renderEntityId = renderEntity.id
|
||||
startReference.name = "${renderEntity.name}参考点"
|
||||
startReference.code = renderEntity.code
|
||||
startReference.table = renderEntity.table
|
||||
startReference.zoomMin = renderEntity.zoomMin
|
||||
startReference.zoomMax = renderEntity.zoomMax
|
||||
startReference.taskId = renderEntity.taskId
|
||||
startReference.enable = renderEntity.enable
|
||||
|
||||
// 起点坐标
|
||||
startReference.geometry =
|
||||
GeometryTools.createGeometry(GeoPoint(pointStart.y, pointStart.x)).toString()
|
||||
startReference.properties["qi_table"] = renderEntity.table
|
||||
startReference.properties["type"] = "s_2_p"
|
||||
startReference.properties["geometry"] = startReference.geometry
|
||||
listResult.add(startReference)
|
||||
|
||||
val endReference = ReferenceEntity()
|
||||
endReference.renderEntityId = renderEntity.id
|
||||
endReference.name = "${renderEntity.name}参考点"
|
||||
endReference.code = renderEntity.code
|
||||
endReference.table = renderEntity.table
|
||||
endReference.zoomMin = renderEntity.zoomMin
|
||||
endReference.zoomMax = renderEntity.zoomMax
|
||||
endReference.taskId = renderEntity.taskId
|
||||
endReference.enable = renderEntity.enable
|
||||
|
||||
// 终点坐标
|
||||
endReference.geometry =
|
||||
GeometryTools.createGeometry(GeoPoint(pointEnd.y, pointEnd.x)).toString()
|
||||
endReference.properties["qi_table"] = renderEntity.table
|
||||
endReference.properties["type"] = "e_2_p"
|
||||
endReference.properties["geometry"] = endReference.geometry
|
||||
|
||||
listResult.add(endReference)
|
||||
insertData(listResult)
|
||||
}
|
||||
}
|
||||
|
||||
fun generateS2EReferencePoint(
|
||||
renderEntity: RenderEntity,
|
||||
proKey: String = "",
|
||||
@@ -463,30 +514,90 @@ class ImportPreProcess {
|
||||
* 解析车道边线数据二级属性
|
||||
* */
|
||||
fun unpackingLaneBoundary(renderEntity: RenderEntity) {
|
||||
var shape: JSONObject = JSONObject(
|
||||
mapOf(
|
||||
"lateralOffset" to 0,
|
||||
"markType" to 1,
|
||||
"markColor" to 0,
|
||||
"markMaterial" to 1,
|
||||
"markSeqNum" to 1,
|
||||
"markWidth" to 10,
|
||||
"markingCount" to 1
|
||||
)
|
||||
)
|
||||
if (renderEntity.code == "2013" && !renderEntity.properties["shapeList"].isNullOrEmpty() && renderEntity.properties["shapeList"] != "null") {
|
||||
|
||||
if (renderEntity.code == DataCodeEnum.OMDB_LANE_MARK_BOUNDARYTYPE.code && !renderEntity.properties["shapeList"].isNullOrEmpty() && renderEntity.properties["shapeList"] != "null") {
|
||||
// 解析shapeList,将数组中的属性放会properties
|
||||
val shapeList = JSONArray(renderEntity.properties["shapeList"])
|
||||
for (i in 0 until shapeList.length()) {
|
||||
shape = shapeList.getJSONObject(i)
|
||||
if (shape.optInt("lateralOffset", 0) == 0) {
|
||||
break
|
||||
val boundaryType = renderEntity.properties["boundaryType"]
|
||||
val listResult = mutableListOf<RenderEntity>()
|
||||
if (boundaryType != null) {
|
||||
var isExistOffSet0 = false
|
||||
//只处理标线类型,App要求值渲染1、2、6、8
|
||||
if (boundaryType.toInt() == 2) {
|
||||
for (i in 0 until shapeList.length()) {
|
||||
var shape = shapeList.getJSONObject(i)
|
||||
val lateralOffset = shape.optInt("lateralOffset", 0)
|
||||
//999999时不应用也不渲染
|
||||
if (lateralOffset != 999999) {
|
||||
//需要做偏移处理
|
||||
if (lateralOffset != 0) {
|
||||
|
||||
when (shape.optInt("markType", 0)) {
|
||||
1, 2, 6, 8 -> {
|
||||
val renderEntityTemp = RenderEntity()
|
||||
for (key in shape.keys()) {
|
||||
renderEntityTemp.properties[key] = shape[key].toString()
|
||||
}
|
||||
renderEntityTemp.properties["qi_table"] =
|
||||
renderEntity.properties["qi_table"]
|
||||
renderEntityTemp.properties["qi_code"] =
|
||||
renderEntity.properties["qi_code"]
|
||||
renderEntityTemp.properties["qi_zoomMin"] =
|
||||
renderEntity.properties["qi_zoomMin"]
|
||||
renderEntityTemp.properties["qi_zoomMax"] =
|
||||
renderEntity.properties["qi_zoomMax"]
|
||||
renderEntityTemp.properties["name"] =
|
||||
renderEntity.properties["name"]
|
||||
renderEntityTemp.properties["qi_name"] =
|
||||
renderEntity.properties["qi_name"]
|
||||
renderEntityTemp.properties["boundaryType"] =
|
||||
renderEntity.properties["boundaryType"]
|
||||
renderEntityTemp.properties["featureClass"] =
|
||||
renderEntity.properties["featureClass"]
|
||||
renderEntityTemp.properties["featurePid"] =
|
||||
renderEntity.properties["featurePid"]
|
||||
|
||||
renderEntityTemp.code = renderEntity.code
|
||||
renderEntityTemp.table = renderEntity.table
|
||||
renderEntityTemp.name = renderEntity.name
|
||||
renderEntityTemp.zoomMin = renderEntity.zoomMin
|
||||
renderEntityTemp.zoomMax = renderEntity.zoomMax
|
||||
renderEntityTemp.enable = renderEntity.enable
|
||||
renderEntityTemp.taskId = renderEntity.taskId
|
||||
renderEntityTemp.catchEnable = renderEntity.catchEnable
|
||||
var dis = -lateralOffset.toDouble() / 100000000
|
||||
//最小值取10厘米,否正渲染太近无法显示
|
||||
if (dis > 0 && dis < 0.0000028) {
|
||||
dis = 0.0000028
|
||||
} else if (dis > -0.0000028 && dis < 0) {
|
||||
dis = -0.0000028
|
||||
}
|
||||
renderEntityTemp.geometry = GeometryTools.computeLine(
|
||||
dis,
|
||||
renderEntity.geometry
|
||||
)
|
||||
listResult.add(renderEntityTemp)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
isExistOffSet0 = true
|
||||
//遍历赋值
|
||||
for (key in shape.keys()) {
|
||||
renderEntity.properties[key] = shape[key].toString()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//如果不存在偏移的数据时,数据本身不渲染同时也不进行捕捉
|
||||
if (!isExistOffSet0) {
|
||||
renderEntity.catchEnable = 0
|
||||
}
|
||||
if (listResult.size > 0) {
|
||||
insertData(listResult)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (key in shape.keys()) {
|
||||
renderEntity.properties[key] = shape[key].toString()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -604,29 +715,6 @@ class ImportPreProcess {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过rdDirect对象向rdLink的relation字段
|
||||
* */
|
||||
// fun addRdLinkDirect(renderEntity: RenderEntity) {
|
||||
// // 尝试更新RD_link的relation记录中的方向字段
|
||||
// val rdLinkEntity = queryRdLink(renderEntity.properties["linkPid"]!!)
|
||||
// if (rdLinkEntity?.linkRelation == null) {
|
||||
// rdLinkEntity?.linkRelation = LinkRelation()
|
||||
// }
|
||||
// rdLinkEntity?.linkRelation?.direct = renderEntity.properties["direct"]!!.toInt()
|
||||
// Realm.getInstance(Constant.currentInstallTaskConfig).insertOrUpdate(rdLinkEntity)
|
||||
// }
|
||||
|
||||
/**
|
||||
* 查询指定的Rdlink数据
|
||||
* */
|
||||
// fun queryRdLink(rdLinkId: String): RenderEntity? {
|
||||
// //////// return Realm.getInstance(Constant.currentInstallTaskConfig).where(RenderEntity::class.java)
|
||||
// .equalTo("code", DataCodeEnum.OMDB_RD_LINK.code)
|
||||
// .and().equalTo("linkPid", rdLinkId)
|
||||
// .findFirst()
|
||||
// }
|
||||
|
||||
/**
|
||||
* 生成电子眼对应的渲染名称
|
||||
* */
|
||||
@@ -645,31 +733,26 @@ class ImportPreProcess {
|
||||
* 生成车道中心线面宽度
|
||||
* */
|
||||
fun generateAddWidthLine(renderEntity: RenderEntity) {
|
||||
try {
|
||||
// 添加车道中心面渲染原则,根据车道宽度进行渲染
|
||||
val angleReference = ReferenceEntity()
|
||||
// angleReference.renderEntityId = renderEntity.id
|
||||
angleReference.name = "${renderEntity.name}车道中线面"
|
||||
angleReference.table = renderEntity.table
|
||||
angleReference.geometry =
|
||||
GeometryTools.createGeometry(renderEntity.geometry).buffer(0.000035)
|
||||
.toString()//GeometryTools.computeLine(0.000035,0.000035,renderEntity.geometry)
|
||||
angleReference.properties["qi_table"] = renderEntity.table
|
||||
angleReference.properties["widthProperties"] = "3"
|
||||
angleReference.zoomMin = renderEntity.zoomMin
|
||||
angleReference.zoomMax = renderEntity.zoomMax
|
||||
angleReference.taskId = renderEntity.taskId
|
||||
angleReference.enable = renderEntity.enable
|
||||
val listResult = mutableListOf<ReferenceEntity>()
|
||||
angleReference.propertiesDb = StrZipUtil.compress(
|
||||
gson.toJson(angleReference.properties).toString()
|
||||
)
|
||||
listResult.add(angleReference)
|
||||
insertData(listResult)
|
||||
} catch (e: Exception) {
|
||||
Log.e("jingo", "车道中心线 generateAddWidthLine ${e.message}")
|
||||
}
|
||||
|
||||
// 添加车道中心面渲染原则,根据车道宽度进行渲染
|
||||
val angleReference = ReferenceEntity()
|
||||
// angleReference.renderEntityId = renderEntity.id
|
||||
angleReference.name = "${renderEntity.name}车道中线面"
|
||||
angleReference.table = renderEntity.table
|
||||
angleReference.geometry =
|
||||
GeometryTools.createGeometry(renderEntity.geometry).buffer(0.000035)
|
||||
.toString()//GeometryTools.computeLine(0.000035,0.000035,renderEntity.geometry)
|
||||
angleReference.properties["qi_table"] = renderEntity.table
|
||||
angleReference.properties["widthProperties"] = "3"
|
||||
angleReference.zoomMin = renderEntity.zoomMin
|
||||
angleReference.zoomMax = renderEntity.zoomMax
|
||||
angleReference.taskId = renderEntity.taskId
|
||||
angleReference.enable = renderEntity.enable
|
||||
val listResult = mutableListOf<ReferenceEntity>()
|
||||
angleReference.propertiesDb = StrZipUtil.compress(
|
||||
gson.toJson(angleReference.properties).toString()
|
||||
)
|
||||
listResult.add(angleReference)
|
||||
insertData(listResult)
|
||||
}
|
||||
|
||||
|
||||
@@ -976,4 +1059,50 @@ class ImportPreProcess {
|
||||
GeometryTools.createGeometry(GeoPoint(centerPoint!!.y, centerPoint.x)).toString()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成通行车辆类型Lane的渲染名称字段
|
||||
* */
|
||||
fun generateLaneAccessType(renderEntity: RenderEntity): Boolean {
|
||||
if (renderEntity.properties.containsKey("accessCharacteristic")) {
|
||||
// 解析accessCharacteristic,判断是否存在指定属性
|
||||
val accessCharacteristic = renderEntity.properties["accessCharacteristic"].toString().toInt()
|
||||
var str = ""
|
||||
if (accessCharacteristic.and(4)>0) {
|
||||
str += "公"
|
||||
}
|
||||
if (accessCharacteristic.and(8)>0) {
|
||||
if (str.isNotEmpty()) {
|
||||
str += "|"
|
||||
}
|
||||
str += "多"
|
||||
}
|
||||
if (accessCharacteristic.and(64)>0) {
|
||||
if (str.isNotEmpty()) {
|
||||
str += "|"
|
||||
}
|
||||
str += "行"
|
||||
}
|
||||
if (accessCharacteristic.and(128)>0) {
|
||||
if (str.isNotEmpty()) {
|
||||
str += "|"
|
||||
}
|
||||
str += "自"
|
||||
}
|
||||
if (str.isNotEmpty()) {
|
||||
renderEntity.properties["name"] = str
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成车道点限速的名称
|
||||
* */
|
||||
fun obtainLaneSpeedLimitName(renderEntity: RenderEntity) {
|
||||
if (renderEntity.properties.containsKey("maxSpeed")&&renderEntity.properties.containsKey("minSpeed")) {
|
||||
renderEntity.properties["ref"] = "${renderEntity.properties["maxSpeed"]}|${renderEntity.properties["minSpeed"]}"
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -672,7 +672,7 @@ class MainViewModel @Inject constructor(
|
||||
*/
|
||||
private suspend fun captureItem(point: GeoPoint) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
var buffer = 3.2
|
||||
var buffer = 8.0
|
||||
if (mapController.mMapView.mapLevel >= 18) {
|
||||
buffer = 2.0
|
||||
}
|
||||
@@ -733,7 +733,7 @@ class MainViewModel @Inject constructor(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
DataCodeEnum.OMDB_PHY_LANENUM.code,//物理车道数
|
||||
DataCodeEnum.OMDB_LANE_NUM.code, //车道数
|
||||
DataCodeEnum.OMDB_RD_LINK_KIND.code,//种别,
|
||||
DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code, // 功能等级,
|
||||
@@ -889,7 +889,7 @@ class MainViewModel @Inject constructor(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
DataCodeEnum.OMDB_PHY_LANENUM.code,//物理车道数
|
||||
DataCodeEnum.OMDB_LANE_NUM.code, //车道数
|
||||
DataCodeEnum.OMDB_RD_LINK_KIND.code,//种别,
|
||||
DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code, // 功能等级,
|
||||
|
||||
@@ -710,10 +710,10 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
* 更新相机状态资源
|
||||
*/
|
||||
public void updateCameraResources(int statusType, int indexClentCamera) {
|
||||
int resId = R.id.main_activity_camera;
|
||||
int resId = R.id.main_activity_status_camera;
|
||||
|
||||
if (indexClentCamera == 2)
|
||||
resId = R.id.main_activity_camera2;
|
||||
resId = R.id.main_activity_status_camera;
|
||||
|
||||
Drawable drawable = context.getResources().getDrawable(R.drawable.icon_page_video_a0);
|
||||
|
||||
@@ -770,10 +770,10 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
}
|
||||
|
||||
public void updateCameraBackgroundResources(int drawable, int indexClentCamera) {
|
||||
int resId = R.id.main_activity_camera;
|
||||
int resId = R.id.main_activity_status_camera;
|
||||
|
||||
if (indexClentCamera == 2)
|
||||
resId = R.id.main_activity_camera2;
|
||||
resId = R.id.main_activity_status_camera;
|
||||
|
||||
ImageView ivStatus = (ImageView) findViewById(resId);
|
||||
|
||||
@@ -1547,9 +1547,9 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
private int getResId() {
|
||||
|
||||
if (getmDeviceNum() == 2)
|
||||
return R.id.main_activity_camera2;
|
||||
return R.id.main_activity_status_camera;
|
||||
|
||||
return R.id.main_activity_camera;
|
||||
return R.id.main_activity_status_camera;
|
||||
}
|
||||
|
||||
public ShareUtil getmShareUtil() {
|
||||
|
||||
@@ -182,7 +182,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
||||
// 定位到指定位置
|
||||
niMapController.mMapView.vtmMap.animator()
|
||||
// .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 ))
|
||||
.animateTo(GeoPoint(40.0882756, 116.3033581))
|
||||
.animateTo(GeoPoint(31.205913609396507, 121.56955739056055 ))
|
||||
}
|
||||
|
||||
R.id.personal_center_menu_open_all_layer -> {
|
||||
|
||||
@@ -104,14 +104,15 @@ class SignUtil {
|
||||
else -> ""
|
||||
}
|
||||
}
|
||||
//车道数
|
||||
DataCodeEnum.OMDB_LANE_NUM.code -> {
|
||||
//物理车道数OMDB_PHY_LANENUM
|
||||
DataCodeEnum.OMDB_LANE_NUM.code,
|
||||
DataCodeEnum.OMDB_PHY_LANENUM.code -> {
|
||||
"${data.properties["laneNum"]}|${data.properties["laneS2e"]}|${data.properties["laneE2s"]}"
|
||||
}
|
||||
|
||||
//常规点限速,条件点限速
|
||||
DataCodeEnum.OMDB_SPEEDLIMIT.code, DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> getSpeedLimitMaxText(
|
||||
data
|
||||
)
|
||||
DataCodeEnum.OMDB_SPEEDLIMIT.code, DataCodeEnum.OMDB_SPEEDLIMIT_COND.code -> getSpeedLimitMaxText(data)
|
||||
|
||||
//上下线分离
|
||||
DataCodeEnum.OMDB_MULTI_DIGITIZED.code -> {
|
||||
if (data.properties["multiDigitized"] == "1") "上下线" else " "
|
||||
@@ -282,7 +283,8 @@ class SignUtil {
|
||||
DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> {
|
||||
list.addAll(getLinkSpeedLimitMoreInfo(data))
|
||||
}
|
||||
//车道数
|
||||
//车道数//增加物理车道数DataCodeEnum.OMDB_PHY_LANENUM.code
|
||||
DataCodeEnum.OMDB_PHY_LANENUM.code,
|
||||
DataCodeEnum.OMDB_LANE_NUM.code -> {
|
||||
list.add(
|
||||
TwoItemAdapterItem(
|
||||
@@ -1424,6 +1426,7 @@ class SignUtil {
|
||||
)
|
||||
DataCodeEnum.OMDB_RD_LINK_KIND.code -> stringBuffer.append("种别${item.iconText},")
|
||||
DataCodeEnum.OMDB_LINK_DIRECT.code -> stringBuffer.append("${item.iconText},")
|
||||
DataCodeEnum.OMDB_PHY_LANENUM.code,//物理车道数
|
||||
DataCodeEnum.OMDB_LANE_NUM.code -> stringBuffer.append(
|
||||
"${
|
||||
item.iconText.substringBefore(
|
||||
@@ -1751,6 +1754,7 @@ class SignUtil {
|
||||
*/
|
||||
fun getRoadInfoIndex(element: RenderEntity): Int {
|
||||
return when (element.code) {
|
||||
DataCodeEnum.OMDB_PHY_LANENUM.code,//物理车道数
|
||||
DataCodeEnum.OMDB_LANE_NUM.code -> 0
|
||||
DataCodeEnum.OMDB_RD_LINK_KIND.code -> 1
|
||||
DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> 2
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_checked="true" android:drawable="@drawable/icon_page_take_photo_a2">
|
||||
</item>
|
||||
<item android:state_selected="true" android:drawable="@drawable/icon_page_take_photo_a2">
|
||||
</item>
|
||||
<item android:drawable="@drawable/icon_page_take_photo_a3">
|
||||
</item>
|
||||
</selector>
|
||||
@@ -102,7 +102,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="@dimen/top_right_drawer_btns_mr"
|
||||
app:constraint_referenced_ids="main_activity_add_new,main_activity_task_line,main_activity_serach,main_activity_2d_3d,main_activity_camera,main_activity_trace,main_activity_calc_distance,main_activity_menu"
|
||||
app:constraint_referenced_ids="main_activity_add_new,main_activity_task_line,main_activity_serach,main_activity_2d_3d,main_activity_camera,main_activity_trace,main_activity_calc_distance,main_activity_menu_layout"
|
||||
app:flow_horizontalGap="6dp"
|
||||
app:flow_wrapMode="aligned"
|
||||
app:layout_constraintRight_toLeftOf="@id/main_activity_right_fragment"
|
||||
@@ -157,13 +157,29 @@
|
||||
android:onClick="@{()->mainActivity.onClickTaskLink()}"
|
||||
android:src="@drawable/icon_add_road" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/main_activity_menu"
|
||||
android:layout_width="@dimen/top_right_drawer_wh"
|
||||
android:layout_height="@dimen/top_right_drawer_wh"
|
||||
android:background="@drawable/chk_icon_menu_open_close_xml"
|
||||
android:elevation="2dp"
|
||||
android:onClick="@{()->mainActivity.onClickMenu()}" />
|
||||
<FrameLayout
|
||||
android:id="@+id/main_activity_menu_layout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/main_activity_menu"
|
||||
android:layout_width="@dimen/top_right_drawer_wh"
|
||||
android:layout_height="@dimen/top_right_drawer_wh"
|
||||
android:background="@drawable/chk_icon_menu_open_close_xml"
|
||||
android:elevation="2dp"
|
||||
android:onClick="@{()->mainActivity.onClickMenu()}" />
|
||||
|
||||
<ImageView
|
||||
android:layout_marginLeft="16dp"
|
||||
android:id="@+id/main_activity_status_camera"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:background="@drawable/chk_icon_camera_contect_discontect_xml"
|
||||
android:elevation="2dp"
|
||||
tools:ignore="DuplicateIds,MissingConstraints" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<include
|
||||
android:id="@+id/main_activity_measuring_tool"
|
||||
|
||||
@@ -110,6 +110,7 @@
|
||||
android:src="@drawable/icon_camera_img" />
|
||||
|
||||
<LinearLayout
|
||||
android:visibility="gone"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="bottom"
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<item
|
||||
android:id="@+id/personal_center_menu_version"
|
||||
android:icon="@drawable/ic_baseline_layers_24"
|
||||
android:title="版本:23QE4_V1.5.6_20230928_A" />
|
||||
android:title="版本:23QE4_V1.5.7_20231011_A" />
|
||||
</group>
|
||||
<group android:checkableBehavior="single">
|
||||
<item android:title="小标题">
|
||||
|
||||
Reference in New Issue
Block a user