增加道路属性,道路形态展示

This commit is contained in:
squallzhjch 2023-08-16 16:43:48 +08:00
parent f9b5c8a1d1
commit 51b9a398a4
5 changed files with 120 additions and 46 deletions

View File

@ -328,7 +328,7 @@ class MainViewModel @Inject constructor(
val realm = realmOperateHelper.getRealmDefaultInstance() val realm = realmOperateHelper.getRealmDefaultInstance()
realm.executeTransaction { realm.executeTransaction {
val objects = val objects =
realmOperateHelper.getRealmTools(QsRecordBean::class.java,false).findAll() realmOperateHelper.getRealmTools(QsRecordBean::class.java, false).findAll()
list = realm.copyFromRealm(objects) list = realm.copyFromRealm(objects)
} }
mapController.markerHandle.removeAllQsMarker() mapController.markerHandle.removeAllQsMarker()
@ -345,7 +345,7 @@ class MainViewModel @Inject constructor(
var list = mutableListOf<NoteBean>() var list = mutableListOf<NoteBean>()
val realm = realmOperateHelper.getRealmDefaultInstance() val realm = realmOperateHelper.getRealmDefaultInstance()
realm.executeTransaction { realm.executeTransaction {
val objects = realmOperateHelper.getRealmTools(NoteBean::class.java,false).findAll() val objects = realmOperateHelper.getRealmTools(NoteBean::class.java, false).findAll()
list = realm.copyFromRealm(objects) list = realm.copyFromRealm(objects)
} }
@ -559,6 +559,26 @@ class MainViewModel @Inject constructor(
DataCodeEnum.OMDB_TUNNEL.code,//隧道 DataCodeEnum.OMDB_TUNNEL.code,//隧道
DataCodeEnum.OMDB_ROUNDABOUT.code,//环岛 DataCodeEnum.OMDB_ROUNDABOUT.code,//环岛
DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code,//出入口 DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code,//出入口
DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code,//辅路
DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code,//SA
DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code,//PA
DataCodeEnum.OMDB_LINK_FORM1_1.code,
DataCodeEnum.OMDB_LINK_FORM1_2.code,
DataCodeEnum.OMDB_LINK_FORM1_3.code,
DataCodeEnum.OMDB_LINK_FORM2_1.code,
DataCodeEnum.OMDB_LINK_FORM2_2.code,
DataCodeEnum.OMDB_LINK_FORM2_3.code,
DataCodeEnum.OMDB_LINK_FORM2_4.code,
DataCodeEnum.OMDB_LINK_FORM2_5.code,
DataCodeEnum.OMDB_LINK_FORM2_6.code,
DataCodeEnum.OMDB_LINK_FORM2_7.code,
DataCodeEnum.OMDB_LINK_FORM2_8.code,
DataCodeEnum.OMDB_LINK_FORM2_9.code,
DataCodeEnum.OMDB_LINK_FORM2_10.code,
DataCodeEnum.OMDB_LINK_FORM2_11.code,
DataCodeEnum.OMDB_LINK_FORM2_12.code,
DataCodeEnum.OMDB_LINK_FORM2_13.code,
DataCodeEnum.OMDB_VIADUCT.code,
-> topSignList.add( -> topSignList.add(
signBean signBean
) )
@ -578,14 +598,20 @@ class MainViewModel @Inject constructor(
val realm = realmOperateHelper.getRealmDefaultInstance() val realm = realmOperateHelper.getRealmDefaultInstance()
val entity = realmOperateHelper.getRealmTools(RenderEntity::class.java,true).and() val entity =
.equalTo("table", DataCodeEnum.OMDB_RESTRICTION.tableName).and().equalTo( realmOperateHelper.getRealmTools(RenderEntity::class.java, true)
.and()
.equalTo("table", DataCodeEnum.OMDB_RESTRICTION.tableName).and()
.equalTo(
"properties['linkIn']", it "properties['linkIn']", it
).findFirst() ).findFirst()
if (entity != null) { if (entity != null) {
val outLink = entity.properties["linkOut"] val outLink = entity.properties["linkOut"]
val linkOutEntity = realmOperateHelper.getRealmTools(RenderEntity::class.java,true).and() val linkOutEntity =
.equalTo("table", DataCodeEnum.OMDB_RD_LINK.tableName).and().equalTo( realmOperateHelper.getRealmTools(RenderEntity::class.java, true)
.and()
.equalTo("table", DataCodeEnum.OMDB_RD_LINK.tableName).and()
.equalTo(
"properties['${RenderEntity.Companion.LinkTable.linkPid}']", "properties['${RenderEntity.Companion.LinkTable.linkPid}']",
outLink outLink
).findFirst() ).findFirst()

View File

@ -3,7 +3,7 @@ package com.navinfo.omqs.ui.activity.map
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.navinfo.collect.library.enum.DataCodeEnum import com.navinfo.collect.library.enums.DataCodeEnum
import com.navinfo.omqs.R import com.navinfo.omqs.R
import com.navinfo.omqs.bean.SignBean import com.navinfo.omqs.bean.SignBean
import com.navinfo.omqs.databinding.AdapterTopSignBinding import com.navinfo.omqs.databinding.AdapterTopSignBinding
@ -28,7 +28,8 @@ class TopSignAdapter(private var itemListener: ((Int, SignBean) -> Unit?)? = nul
DataCodeEnum.OMDB_CON_ACCESS.code, DataCodeEnum.OMDB_CON_ACCESS.code,
DataCodeEnum.OMDB_MULTI_DIGITIZED.code, DataCodeEnum.OMDB_MULTI_DIGITIZED.code,
DataCodeEnum.OMDB_TUNNEL.code, DataCodeEnum.OMDB_TUNNEL.code,
DataCodeEnum.OMDB_ROUNDABOUT.code DataCodeEnum.OMDB_ROUNDABOUT.code,
DataCodeEnum.OMDB_VIADUCT.code,
-> bd.topSignName.text = "" -> bd.topSignName.text = ""
else -> bd.topSignName.text = item.name else -> bd.topSignName.text = item.name
} }

View File

@ -51,7 +51,7 @@ class SignMoreInfoFragment : BaseFragment() {
when (it.code) { when (it.code) {
//道路名 //道路名
DataCodeEnum.OMDB_RD_LINK.code -> { DataCodeEnum.OMDB_LINK_NAME.code -> {
val adapter = RoadNameInfoAdapter() val adapter = RoadNameInfoAdapter()
binding.signInfoRecyclerview.adapter = adapter binding.signInfoRecyclerview.adapter = adapter
adapter.refreshData(SignUtil.getRoadNameList(it)) adapter.refreshData(SignUtil.getRoadNameList(it))

View File

@ -48,7 +48,30 @@ class SignUtil {
//环岛 //环岛
DataCodeEnum.OMDB_ROUNDABOUT.code -> "环岛" DataCodeEnum.OMDB_ROUNDABOUT.code -> "环岛"
//主辅路出入口 //主辅路出入口
DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code ->"道路属性" DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code -> "出入口"
//辅路
DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code -> "辅路"
//SA
DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code -> "SA"
//PA
DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code -> "PA"
DataCodeEnum.OMDB_LINK_FORM1_1.code -> "U-T"
DataCodeEnum.OMDB_LINK_FORM1_2.code -> "提右"
DataCodeEnum.OMDB_LINK_FORM1_3.code -> "提左"
DataCodeEnum.OMDB_LINK_FORM2_1.code -> "IC"
DataCodeEnum.OMDB_LINK_FORM2_2.code -> "JCT"
DataCodeEnum.OMDB_LINK_FORM2_3.code -> "跨线地"
DataCodeEnum.OMDB_LINK_FORM2_4.code -> "私道"
DataCodeEnum.OMDB_LINK_FORM2_5.code -> "步行街"
DataCodeEnum.OMDB_LINK_FORM2_6.code -> "公交道"
DataCodeEnum.OMDB_LINK_FORM2_7.code -> "POI"
DataCodeEnum.OMDB_LINK_FORM2_8.code -> "区域内"
DataCodeEnum.OMDB_LINK_FORM2_9.code -> "P出入"
DataCodeEnum.OMDB_LINK_FORM2_10.code -> "P虚拟"
DataCodeEnum.OMDB_LINK_FORM2_11.code -> "风景路"
DataCodeEnum.OMDB_LINK_FORM2_12.code -> "测试路"
DataCodeEnum.OMDB_LINK_FORM2_13.code -> "驾考路"
DataCodeEnum.OMDB_VIADUCT.code->"高架"
else -> "" else -> ""
} }
} }
@ -187,8 +210,31 @@ class SignUtil {
DataCodeEnum.OMDB_TUNNEL.code -> "隧道" DataCodeEnum.OMDB_TUNNEL.code -> "隧道"
//环岛 //环岛
DataCodeEnum.OMDB_ROUNDABOUT.code -> "环岛" DataCodeEnum.OMDB_ROUNDABOUT.code -> "环岛"
//主辅路出入口
DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code ->"出入口" DataCodeEnum.OMDB_LINK_ATTRIBUTE_MAIN_SIDE_ACCESS.code,
DataCodeEnum.OMDB_LINK_ATTRIBUTE_FORNTAGE.code,
DataCodeEnum.OMDB_LINK_ATTRIBUTE_SA.code,
DataCodeEnum.OMDB_LINK_ATTRIBUTE_PA.code -> "道路属性"
DataCodeEnum.OMDB_LINK_FORM1_1.code,
DataCodeEnum.OMDB_LINK_FORM1_2.code,
DataCodeEnum.OMDB_LINK_FORM1_3.code,
DataCodeEnum.OMDB_LINK_FORM2_1.code,
DataCodeEnum.OMDB_LINK_FORM2_2.code,
DataCodeEnum.OMDB_LINK_FORM2_3.code,
DataCodeEnum.OMDB_LINK_FORM2_4.code,
DataCodeEnum.OMDB_LINK_FORM2_5.code,
DataCodeEnum.OMDB_LINK_FORM2_6.code,
DataCodeEnum.OMDB_LINK_FORM2_7.code,
DataCodeEnum.OMDB_LINK_FORM2_8.code,
DataCodeEnum.OMDB_LINK_FORM2_9.code,
DataCodeEnum.OMDB_LINK_FORM2_10.code,
DataCodeEnum.OMDB_LINK_FORM2_11.code,
DataCodeEnum.OMDB_LINK_FORM2_12.code,
DataCodeEnum.OMDB_LINK_FORM2_13.code -> "道路形态"
DataCodeEnum.OMDB_VIADUCT.code -> "高架"
else -> "" else -> ""
} }
} }
@ -618,12 +664,11 @@ class SignUtil {
*/ */
fun getRoadNameList(data: RenderEntity): MutableList<RoadNameBean> { fun getRoadNameList(data: RenderEntity): MutableList<RoadNameBean> {
val list = mutableListOf<RoadNameBean>() val list = mutableListOf<RoadNameBean>()
if (data.code == "2011") {
try { try {
val shapeStr = data.properties["shapeList"] val shapeStr = data.properties["shapeList"]
val array = JSONArray(shapeStr) val array = JSONArray(shapeStr)
for (i in 0 until array.length()) { for (i in 0 until array.length()) {
val jsonObject = array.getJSONObject(0) val jsonObject = array.getJSONObject(i)
val name = jsonObject.optString("name", "") val name = jsonObject.optString("name", "")
val type = jsonObject.optInt("nameType", 0) val type = jsonObject.optInt("nameType", 0)
val seqNum = jsonObject.optInt("seqNum", 1) val seqNum = jsonObject.optInt("seqNum", 1)
@ -646,7 +691,6 @@ class SignUtil {
} catch (e: Exception) { } catch (e: Exception) {
} }
}
return list return list
} }

View File

@ -1,7 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="wrap_content"
android:paddingTop="5dp"
android:paddingBottom="5dp"
>
<TextView <TextView
android:id="@+id/title" android:id="@+id/title"