增加全要素捕捉开关及属性信息显示窗体展示

This commit is contained in:
qiji4215
2023-09-14 17:49:39 +08:00
parent c3d9ed5a2f
commit fbdaeb3939
6 changed files with 75 additions and 13 deletions

View File

@@ -108,6 +108,11 @@ class Constant {
*/ */
var MapRotateEnable = false var MapRotateEnable = false
/**
* 全要素捕捉
*/
var CATCH_ALL = false
var IS_VIDEO_SPEED by kotlin.properties.Delegates.notNull<Boolean>() var IS_VIDEO_SPEED by kotlin.properties.Delegates.notNull<Boolean>()
const val message_status_late = "预约,待发送" const val message_status_late = "预约,待发送"

View File

@@ -287,13 +287,22 @@ class RealmOperateHelper() {
.findAll() .findAll()
} else { } else {
// 查询realm中对应tile号的数据 // 查询realm中对应tile号的数据
realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) if(Constant.CATCH_ALL){
.greaterThanOrEqualTo("tileX", xStart) realmList = getSelectTaskRealmTools(RenderEntity::class.java, false)
.lessThanOrEqualTo("tileX", xEnd) .greaterThanOrEqualTo("tileX", xStart)
.greaterThanOrEqualTo("tileY", yStart) .lessThanOrEqualTo("tileX", xEnd)
.lessThanOrEqualTo("tileY", yEnd) .greaterThanOrEqualTo("tileY", yStart)
.greaterThan("catchEnable", 0) .lessThanOrEqualTo("tileY", yEnd)
.findAll() .findAll()
}else{
realmList = getSelectTaskRealmTools(RenderEntity::class.java, false)
.greaterThanOrEqualTo("tileX", xStart)
.lessThanOrEqualTo("tileX", xEnd)
.greaterThanOrEqualTo("tileY", yStart)
.lessThanOrEqualTo("tileY", yEnd)
.greaterThan("catchEnable", 0)
.findAll()
}
} }
// 将获取到的数据和查询的polygon做相交只返回相交的数据 // 将获取到的数据和查询的polygon做相交只返回相交的数据
val queryResult = realmList?.stream()?.filter { val queryResult = realmList?.stream()?.filter {

View File

@@ -1,6 +1,7 @@
package com.navinfo.omqs.ui.fragment.itemlist package com.navinfo.omqs.ui.fragment.itemlist
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.navinfo.collect.library.data.entity.RenderEntity import com.navinfo.collect.library.data.entity.RenderEntity
import com.navinfo.collect.library.enums.DataCodeEnum import com.navinfo.collect.library.enums.DataCodeEnum
@@ -8,8 +9,8 @@ import com.navinfo.omqs.databinding.AdapterItemBinding
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
import com.navinfo.omqs.ui.other.BaseViewHolder import com.navinfo.omqs.ui.other.BaseViewHolder
class ItemAdapter(private var itemListener: ((Int, RenderEntity) -> Unit?)? = null) : class ItemAdapter(private var itemListener: ((Int,Boolean, RenderEntity) -> Unit?)? = null,
BaseRecyclerViewAdapter<RenderEntity>() { ) : BaseRecyclerViewAdapter<RenderEntity>() {
var selectPosition = -1 var selectPosition = -1
@@ -33,8 +34,14 @@ class ItemAdapter(private var itemListener: ((Int, RenderEntity) -> Unit?)? = nu
} }
if (itemListener != null) { if (itemListener != null) {
itemListener!!.invoke(position, renderEntity) itemListener!!.invoke(position,false, renderEntity)
} }
} }
binding.root.setOnLongClickListener(View.OnLongClickListener {
if (itemListener != null) {
itemListener!!.invoke(position, true,renderEntity)
}
true
})
} }
} }

View File

@@ -5,12 +5,19 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.lifecycle.viewModelScope
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.google.gson.Gson
import com.navinfo.collect.library.data.entity.NoteBean
import com.navinfo.omqs.databinding.FragmentItemListBinding import com.navinfo.omqs.databinding.FragmentItemListBinding
import com.navinfo.omqs.ui.activity.map.MainViewModel import com.navinfo.omqs.ui.activity.map.MainViewModel
import com.navinfo.omqs.ui.dialog.FirstDialog
import com.navinfo.omqs.ui.fragment.BaseFragment import com.navinfo.omqs.ui.fragment.BaseFragment
import com.navinfo.omqs.ui.widget.RecycleViewDivider import com.navinfo.omqs.ui.widget.RecycleViewDivider
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import io.realm.Realm
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@AndroidEntryPoint @AndroidEntryPoint
@@ -20,8 +27,23 @@ class ItemListFragment(private var backListener: ((ItemListFragment) -> Unit?)?
private val binding get() = _binding!! private val binding get() = _binding!!
private val viewModel by activityViewModels<MainViewModel>() private val viewModel by activityViewModels<MainViewModel>()
private val adapter by lazy { private val adapter by lazy {
ItemAdapter { _, data -> ItemAdapter { _,isLongClick, data ->
viewModel.showSignMoreInfo(data) if(!isLongClick){
viewModel.showSignMoreInfo(data)
} else{
val mDialog = FirstDialog(context)
mDialog.setTitle("提示?")
val gson = Gson()
mDialog.setMessage(gson.toJson(data.properties))
mDialog.setPositiveButton(
"确定"
) { dialog, _ ->
dialog.dismiss()
}
mDialog.setNegativeButton("取消", null)
mDialog.setCancelVisibility(View.GONE)
mDialog.show()
}
} }
} }

View File

@@ -152,7 +152,14 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
it.title = "锁定地图旋转及视角" it.title = "锁定地图旋转及视角"
} }
} }
R.id.personal_center_menu_catch_all -> {
Constant.CATCH_ALL = !Constant.CATCH_ALL
if (Constant.CATCH_ALL) {
it.title = "关闭全要素捕捉"
} else {
it.title = "开启全要素捕捉"
}
}
R.id.personal_center_menu_test -> { R.id.personal_center_menu_test -> {
viewModel.readRealmData() viewModel.readRealmData()
//116.25017070328308 40.061730653134696 //116.25017070328308 40.061730653134696
@@ -206,6 +213,13 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
it.title = "锁定地图旋转及视角" it.title = "锁定地图旋转及视角"
} }
} }
R.id.personal_center_menu_catch_all->{
if (Constant.CATCH_ALL) {
it.title = "关闭全要素捕捉"
} else {
it.title = "开启全要素捕捉"
}
}
} }
} }
} }

View File

@@ -46,6 +46,11 @@
android:icon="@drawable/baseline_person_24" android:icon="@drawable/baseline_person_24"
android:visible="true" android:visible="true"
android:title="锁定地图旋转及视角" /> android:title="锁定地图旋转及视角" />
<item
android:id="@+id/personal_center_menu_catch_all"
android:icon="@drawable/baseline_person_24"
android:visible="true"
android:title="全要素捕捉" />
<item <item
android:id="@+id/personal_center_menu_version" android:id="@+id/personal_center_menu_version"
android:icon="@drawable/ic_baseline_layers_24" android:icon="@drawable/ic_baseline_layers_24"