From 1206c0d61c9b27bff69c068eef30b21f6a0ab9bf Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Tue, 5 Sep 2023 14:07:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=A4=E9=99=90=E6=B8=B2?= =?UTF-8?q?=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../omqs/ui/activity/map/MainViewModel.kt | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt index 03b46c3f..58bd9f95 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt @@ -4,6 +4,7 @@ import android.app.Activity import android.content.Context import android.content.DialogInterface import android.content.SharedPreferences +import android.graphics.Color import android.graphics.drawable.AnimationDrawable import android.graphics.drawable.BitmapDrawable import android.os.Build @@ -609,29 +610,30 @@ class MainViewModel @Inject constructor( val realm = realmOperateHelper.getRealmDefaultInstance() - val entity = + val entityList = realmOperateHelper.getRealmTools(RenderEntity::class.java, true) .and() .equalTo("table", DataCodeEnum.OMDB_RESTRICTION.name) .and() .equalTo( "properties['linkIn']", it - ).findFirst() - if (entity != null) { - val outLink = entity.properties["linkOut"] - val linkOutEntity = - realmOperateHelper.getRealmTools(RenderEntity::class.java, true) - .and() - .equalTo("table", DataCodeEnum.OMDB_RD_LINK.name).and() - .equalTo( - "properties['${RenderEntity.Companion.LinkTable.linkPid}']", - outLink - ).findFirst() - if (linkOutEntity != null) { - mapController.lineHandler.linksLayer.addLine( - linkOutEntity.geometry, 0x7DFF0000 - ) + ).findAll() + if (entityList.isNotEmpty()) { + val outList = entityList.distinct() + for(i in outList.indices){ + val outLink = outList[i].properties["linkOut"] + val linkOutEntity = + realmOperateHelper.getRealmTools(RenderEntity::class.java, true) + .equalTo("table", DataCodeEnum.OMDB_RD_LINK.name).and() + .equalTo("properties['${RenderEntity.Companion.LinkTable.linkPid}']",outLink + ).findFirst() + if (linkOutEntity != null) { + mapController.lineHandler.linksLayer.addLine( + linkOutEntity.geometry, 0x7DFF0000 + ) + } } + mapController.lineHandler.linksLayer.addLine(link.geometry, Color.BLUE) } }