增加道路属性,跨线立交,匝道,上下线分离,隧道,环岛的道路属性展示
This commit is contained in:
@@ -111,7 +111,7 @@
|
||||
"name": "全封闭"
|
||||
},
|
||||
"2037": {
|
||||
"table": "OMDB_TAMP",
|
||||
"table": "OMDB_RAMP",
|
||||
"code": 2037,
|
||||
"name": "匝道"
|
||||
},
|
||||
@@ -157,7 +157,7 @@
|
||||
"transformer2Code": ""
|
||||
},
|
||||
"2204":{
|
||||
"table": "OMDB_RoundAbout",
|
||||
"table": "OMDB_ROUNDABOUT",
|
||||
"code": 2204,
|
||||
"name": "环岛",
|
||||
"zoomMin": 15,
|
||||
|
||||
@@ -63,7 +63,7 @@ class RealmOperateHelper() {
|
||||
val realmList = realm.where(RenderEntity::class.java)
|
||||
.equalTo("table", "OMDB_RD_LINK")
|
||||
.and()
|
||||
.rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2)
|
||||
.rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId())//.and().between("enable",1,2)
|
||||
.findAll()
|
||||
// 将获取到的数据和查询的polygon做相交,只返回相交的数据
|
||||
val dataList = realm.copyFromRealm(realmList)
|
||||
@@ -126,7 +126,7 @@ class RealmOperateHelper() {
|
||||
val realmList = realm.where(RenderEntity::class.java)
|
||||
.equalTo("table", table)
|
||||
.and()
|
||||
.rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2)
|
||||
.rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId())//.and().between("enable",1,2)
|
||||
.findAll()
|
||||
// 将获取到的数据和查询的polygon做相交,只返回相交的数据
|
||||
val dataList = realm.copyFromRealm(realmList)
|
||||
@@ -165,7 +165,7 @@ class RealmOperateHelper() {
|
||||
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val realmList = realm.where(HadLinkDvoBean::class.java)
|
||||
.equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2)
|
||||
.equalTo("taskId",RealmDBParamUtils.getTaskId())//.and().between("enable",1,2)
|
||||
.findAll()
|
||||
var linkBean: HadLinkDvoBean? = null
|
||||
var nearLast: Double = 99999.99
|
||||
@@ -189,7 +189,7 @@ class RealmOperateHelper() {
|
||||
val realmR = realm.where(RenderEntity::class.java)
|
||||
.equalTo("table", "OMDB_RD_LINK")
|
||||
.and()
|
||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2)
|
||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId())//.and().between("enable",1,2)
|
||||
.findFirst()
|
||||
if (realmR != null) {
|
||||
link = realm.copyFromRealm(realmR)
|
||||
@@ -207,7 +207,7 @@ class RealmOperateHelper() {
|
||||
val realmR = realm.where(QsRecordBean::class.java)
|
||||
.equalTo("table", "QsRecordBean")
|
||||
.and()
|
||||
.equalTo("id", markId).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2)
|
||||
.equalTo("id", markId).and().equalTo("taskId",RealmDBParamUtils.getTaskId())//.and().between("enable",1,2)
|
||||
.findFirst()
|
||||
if (realmR != null) {
|
||||
qsRecordBean = realm.copyFromRealm(realmR)
|
||||
@@ -221,7 +221,7 @@ class RealmOperateHelper() {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
|
||||
val realmR = realm.where(RenderEntity::class.java)
|
||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2)
|
||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId())//.and().between("enable",1,2)
|
||||
.findAll()
|
||||
|
||||
val dataList = realm.copyFromRealm(realmR)
|
||||
@@ -266,7 +266,7 @@ class RealmOperateHelper() {
|
||||
val realmList = realm.where(RenderEntity::class.java)
|
||||
.notEqualTo("table", "OMDB_RD_LINK")
|
||||
.and()
|
||||
.rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2)
|
||||
.rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd").and().equalTo("taskId",RealmDBParamUtils.getTaskId())//.and().between("enable",1,2)
|
||||
.findAll()
|
||||
// 将获取到的数据和查询的polygon做相交,只返回相交的数据
|
||||
val queryResult = realmList?.stream()?.filter {
|
||||
@@ -296,7 +296,7 @@ class RealmOperateHelper() {
|
||||
val realmList = realm.where(RenderEntity::class.java)
|
||||
.notEqualTo("table", "OMDB_RD_LINK")
|
||||
.and()
|
||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId()).and().between("enable",1,2)
|
||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid).and().equalTo("taskId",RealmDBParamUtils.getTaskId())//.and().between("enable",1,2)
|
||||
.findAll()
|
||||
result.addAll(realm.copyFromRealm(realmList))
|
||||
return result
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.graphics.drawable.AnimationDrawable
|
||||
import android.graphics.drawable.BitmapDrawable
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.provider.ContactsContract.Data
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
import android.view.Gravity
|
||||
@@ -510,7 +511,7 @@ class MainViewModel @Inject constructor(
|
||||
var elementList = realmOperateHelper.queryLinkByLinkPid(it)
|
||||
for (element in elementList) {
|
||||
|
||||
if (element.code == "2011") {
|
||||
if (element.code == DataCodeEnum.OMDB_LINK_NAME.code) {
|
||||
hisRoadName = true
|
||||
liveDataRoadName.postValue(element)
|
||||
continue
|
||||
@@ -533,27 +534,36 @@ class MainViewModel @Inject constructor(
|
||||
)
|
||||
Log.e("jingo", "捕捉到的数据code ${element.code}")
|
||||
when (element.code) {
|
||||
//全封闭
|
||||
2022 -> {
|
||||
if (signBean.iconText.isNotEmpty()) {
|
||||
DataCodeEnum.OMDB_MULTI_DIGITIZED.code,//上下线分离
|
||||
DataCodeEnum.OMDB_CON_ACCESS.code,//全封闭
|
||||
-> {
|
||||
if (signBean.iconText != "") {
|
||||
topSignList.add(
|
||||
signBean
|
||||
)
|
||||
}
|
||||
}
|
||||
// //车道数,种别,功能等级,线限速,道路方向
|
||||
// 2041, 2008, 2002, 2019, 2010, 2037 ->
|
||||
// topSignList.add(
|
||||
// signBean
|
||||
// )
|
||||
// 4002, 4003, 4004, 4010, 4022, 4601 -> signList.add(
|
||||
// signBean
|
||||
// )
|
||||
DataCodeEnum.OMDB_LANE_NUM.code, DataCodeEnum.OMDB_RD_LINK_KIND.code, DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code, DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code, DataCodeEnum.OMDB_LINK_DIRECT.code -> topSignList.add(
|
||||
DataCodeEnum.OMDB_LANE_NUM.code, //车道数
|
||||
DataCodeEnum.OMDB_RD_LINK_KIND.code,//种别,
|
||||
DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code, // 功能等级,
|
||||
DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code, //线限速,
|
||||
DataCodeEnum.OMDB_LINK_DIRECT.code,//道路方向,
|
||||
DataCodeEnum.OMDB_RAMP.code, //匝道
|
||||
DataCodeEnum.OMDB_BRIDGE.code,//桥
|
||||
DataCodeEnum.OMDB_TUNNEL.code,//隧道
|
||||
DataCodeEnum.OMDB_ROUNDABOUT.code,//环岛
|
||||
DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code,//出入口
|
||||
-> topSignList.add(
|
||||
signBean
|
||||
)
|
||||
|
||||
DataCodeEnum.OMDB_SPEEDLIMIT.code, DataCodeEnum.OMDB_SPEEDLIMIT_COND.code, DataCodeEnum.OMDB_SPEEDLIMIT_VAR.code, DataCodeEnum.OMDB_ELECTRONICEYE.code, DataCodeEnum.OMDB_TRAFFICLIGHT.code, DataCodeEnum.OMDB_LANEINFO.code -> signList.add(
|
||||
DataCodeEnum.OMDB_SPEEDLIMIT.code,//常规点限速
|
||||
DataCodeEnum.OMDB_SPEEDLIMIT_COND.code,//条件点限速
|
||||
DataCodeEnum.OMDB_SPEEDLIMIT_VAR.code,//可变点限速
|
||||
DataCodeEnum.OMDB_ELECTRONICEYE.code,//电子眼
|
||||
DataCodeEnum.OMDB_TRAFFICLIGHT.code,//交通灯
|
||||
DataCodeEnum.OMDB_LANEINFO.code,//车信
|
||||
-> signList.add(
|
||||
signBean
|
||||
)
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.navinfo.omqs.ui.activity.map
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.navinfo.collect.library.enum.DataCodeEnum
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.bean.SignBean
|
||||
import com.navinfo.omqs.databinding.AdapterTopSignBinding
|
||||
@@ -23,7 +24,15 @@ class TopSignAdapter(private var itemListener: ((Int, SignBean) -> Unit?)? = nul
|
||||
val item = data[position]
|
||||
if (item.iconId != 0)
|
||||
bd.topSignText.background = holder.viewBinding.root.context.getDrawable(item.iconId)
|
||||
bd.topSignName.text = item.name
|
||||
when (item.renderEntity.code) {
|
||||
DataCodeEnum.OMDB_CON_ACCESS.code,
|
||||
DataCodeEnum.OMDB_MULTI_DIGITIZED.code,
|
||||
DataCodeEnum.OMDB_TUNNEL.code,
|
||||
DataCodeEnum.OMDB_ROUNDABOUT.code
|
||||
-> bd.topSignName.text = ""
|
||||
else -> bd.topSignName.text = item.name
|
||||
}
|
||||
|
||||
bd.topSignText.text = item.iconText
|
||||
if (data.size == 1) {
|
||||
bd.topSignLeftLine.visibility = View.GONE
|
||||
|
||||
@@ -30,17 +30,46 @@ class SignUtil {
|
||||
//常规线限速
|
||||
DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> getLineSpeedLimitText(data)
|
||||
//全封闭
|
||||
2022 -> getConAccessText(data)
|
||||
DataCodeEnum.OMDB_CON_ACCESS.code -> getConAccessText(data)
|
||||
//匝道
|
||||
2037 -> getRampText(data)
|
||||
DataCodeEnum.OMDB_RAMP.code -> getRampText(data)
|
||||
//车道数
|
||||
DataCodeEnum.OMDB_LANE_NUM.code -> getLaneNumText(data)
|
||||
//常规点限速,条件点限速
|
||||
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 -> getMultiDigitized(data)
|
||||
//桥
|
||||
DataCodeEnum.OMDB_BRIDGE.code -> getBridgeType(data)
|
||||
//隧道
|
||||
DataCodeEnum.OMDB_TUNNEL.code -> "隧道"
|
||||
//环岛
|
||||
DataCodeEnum.OMDB_ROUNDABOUT.code -> "环岛"
|
||||
//主辅路出入口
|
||||
DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code ->"道路属性"
|
||||
else -> ""
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取桥的类型值
|
||||
*/
|
||||
private fun getBridgeType(data: RenderEntity): String {
|
||||
val bridgeType = data.properties["bridgeType"]
|
||||
try {
|
||||
when (bridgeType?.toInt()) {
|
||||
1 -> return "固定桥"
|
||||
2 -> return "可移桥"
|
||||
3 -> return "跨线桥"
|
||||
}
|
||||
} catch (e: Throwable) {
|
||||
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
/**
|
||||
* 常规线限速值
|
||||
*/
|
||||
@@ -55,7 +84,7 @@ class SignUtil {
|
||||
val conAccess = data.properties["conAccess"]
|
||||
try {
|
||||
if (conAccess?.toInt() == 1)
|
||||
return "是"
|
||||
return "全封闭"
|
||||
} catch (e: Throwable) {
|
||||
|
||||
}
|
||||
@@ -131,9 +160,9 @@ class SignUtil {
|
||||
//常规线限速
|
||||
DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> "线限速"
|
||||
//全封闭
|
||||
2022 -> "全封闭"
|
||||
DataCodeEnum.OMDB_CON_ACCESS.code -> "全封闭" //暂时不要标题
|
||||
//匝道
|
||||
2037 -> "匝道"
|
||||
DataCodeEnum.OMDB_RAMP.code -> "匝道"
|
||||
//车道数
|
||||
DataCodeEnum.OMDB_LANE_NUM.code -> "车道数"
|
||||
//常规点限速
|
||||
@@ -150,10 +179,21 @@ class SignUtil {
|
||||
DataCodeEnum.OMDB_TRAFFICLIGHT.code -> "交通灯"
|
||||
//车信
|
||||
DataCodeEnum.OMDB_LANEINFO.code -> "车信"
|
||||
//上下线分离
|
||||
DataCodeEnum.OMDB_MULTI_DIGITIZED.code -> "上下线分离"
|
||||
//桥
|
||||
DataCodeEnum.OMDB_BRIDGE.code -> "桥"
|
||||
//隧道
|
||||
DataCodeEnum.OMDB_TUNNEL.code -> "隧道"
|
||||
//环岛
|
||||
DataCodeEnum.OMDB_ROUNDABOUT.code -> "环岛"
|
||||
//主辅路出入口
|
||||
DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code ->"出入口"
|
||||
else -> ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取车道边界类型详细信息
|
||||
*/
|
||||
@@ -343,6 +383,21 @@ class SignUtil {
|
||||
return result != 0
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取上下线分离值
|
||||
*/
|
||||
private fun getMultiDigitized(data: RenderEntity): String {
|
||||
|
||||
val multiDigitized = data.properties["multiDigitized"]
|
||||
try {
|
||||
if (multiDigitized?.toInt() == 1)
|
||||
return "上下线"
|
||||
} catch (e: Throwable) {
|
||||
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取限速值文字
|
||||
*/
|
||||
@@ -537,10 +592,22 @@ class SignUtil {
|
||||
stringBuffer.append("当前道路")
|
||||
for (item in topSignList) {
|
||||
when (item.renderEntity.code) {
|
||||
DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> stringBuffer.append("功能等级${item.iconText.substring(2)}级,")
|
||||
DataCodeEnum.OMDB_RD_LINK_FUNCTION_CLASS.code -> stringBuffer.append(
|
||||
"功能等级${
|
||||
item.iconText.substring(
|
||||
2
|
||||
)
|
||||
}级,"
|
||||
)
|
||||
DataCodeEnum.OMDB_RD_LINK_KIND.code -> stringBuffer.append("种别${item.iconText},")
|
||||
DataCodeEnum.OMDB_LINK_DIRECT.code -> stringBuffer.append("${item.iconText},")
|
||||
DataCodeEnum.OMDB_LANE_NUM.code -> stringBuffer.append("${item.iconText.substringBefore("|")}车道")
|
||||
DataCodeEnum.OMDB_LANE_NUM.code -> stringBuffer.append(
|
||||
"${
|
||||
item.iconText.substringBefore(
|
||||
"|"
|
||||
)
|
||||
}车道"
|
||||
)
|
||||
}
|
||||
}
|
||||
return stringBuffer.toString()
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
android:id="@+id/main_activity_top_sign_recyclerview"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="280dp"
|
||||
android:layout_marginLeft="220dp"
|
||||
android:layout_marginTop="2dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
Reference in New Issue
Block a user