fix: 合并代码

This commit is contained in:
xiaoyan 2023-08-18 16:19:09 +08:00
commit df2524244f
20 changed files with 336 additions and 36 deletions

View File

@ -324,7 +324,7 @@ class ImportOMDBHelper @AssistedInject constructor(
}
}else if(renderEntity.code == DataCodeEnum.OMDB_RAMP.code){
/*匝道*/
var formWay = renderEntity.properties["FORM_OF_WAY"]
var formWay = renderEntity.properties["formOfWay"]
if(formWay!=null){
when (formWay) {
"93"-> renderEntity.code = DataCodeEnum.OMDB_RAMP_1.code
@ -338,7 +338,7 @@ class ImportOMDBHelper @AssistedInject constructor(
}
}else if(renderEntity.code == DataCodeEnum.OMDB_LINK_FORM1.code){
/*道路形态1*/
var formWay = renderEntity.properties["FORM_OF_WAY"]
var formWay = renderEntity.properties["formOfWay"]
if(formWay!=null){
when (formWay) {
"35"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM1_1.code
@ -348,7 +348,7 @@ class ImportOMDBHelper @AssistedInject constructor(
}
}else if(renderEntity.code == DataCodeEnum.OMDB_LINK_FORM2.code){
/*道路形态2*/
var formWay = renderEntity.properties["FORM_OF_WAY"]
var formWay = renderEntity.properties["formOfWay"]
if(formWay!=null){
when (formWay) {
"10"-> renderEntity.code = DataCodeEnum.OMDB_LINK_FORM2_1.code

View File

@ -38,6 +38,7 @@ import com.navinfo.omqs.http.offlinemapdownload.OfflineMapDownloadManager
import com.navinfo.omqs.tools.LayerConfigUtils
import com.navinfo.omqs.ui.activity.BaseActivity
import com.navinfo.omqs.ui.fragment.console.ConsoleFragment
import com.navinfo.omqs.ui.fragment.itemlist.ItemListFragment
import com.navinfo.omqs.ui.fragment.offlinemap.OfflineMapFragment
import com.navinfo.omqs.ui.fragment.qsrecordlist.QsRecordListFragment
import com.navinfo.omqs.ui.fragment.signMoreInfo.SignMoreInfoFragment
@ -390,6 +391,25 @@ class MainActivity : BaseActivity() {
}
}
viewModel.liveDataItemList.observe(this) {
if (leftFragment == null || leftFragment !is ItemListFragment) {
leftFragment = ItemListFragment {
binding.mainActivityLeftFragment.visibility = View.GONE
supportFragmentManager.beginTransaction().remove(leftFragment!!).commit()
leftFragment = null
null
}
binding.mainActivityLeftFragment.visibility = View.VISIBLE
supportFragmentManager.beginTransaction()
.replace(R.id.main_activity_left_fragment, leftFragment!!)
.commit()
} else {
supportFragmentManager.beginTransaction()
.show(leftFragment!!)
.commit()
}
}
lifecycleScope.launch {
// 初始化地图图层控制接收器
FlowEventBus.subscribe<List<ImportConfig>>(
@ -416,6 +436,9 @@ class MainActivity : BaseActivity() {
supportFragmentManager.beginTransaction()
.add(R.id.console_fragment_layout, ConsoleFragment()).commit()
}
binding.mainActivityCloseLine.isSelected = viewModel.isHighRoad()
initMeasuringTool()
}
@ -675,6 +698,13 @@ class MainActivity : BaseActivity() {
viewModel.click2Dor3D()
}
/**
* 刷新地图
*/
fun refrushOnclick(view: View) {
mapController.layerManagerHandler.updateOMDBVectorTileLayer()
}
/**
* zoomin
*/
@ -754,6 +784,16 @@ class MainActivity : BaseActivity() {
binding.mainActivitySelectLine.isSelected = viewModel.isSelectRoad()
}
/**
* 点击线高亮
*/
fun openOrCloseLineOnclick() {
viewModel.setHighRoad(!viewModel.isHighRoad())
binding.mainActivityCloseLine.isSelected = viewModel.isHighRoad()
mapController.lineHandler.taskMarkerLayerEnable(viewModel.isHighRoad())
}
/**
* 点击线选择
*/
@ -990,7 +1030,7 @@ class MainActivity : BaseActivity() {
*/
private fun showMainActivityBottomSheetGroup() {
binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 10, 60)
mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 256, 60)
mapController.mMapView.vtmMap.animator().animateTo(
GeoPoint(
mapController.mMapView.vtmMap.mapPosition.geoPoint.latitude,
@ -1004,7 +1044,7 @@ class MainActivity : BaseActivity() {
*/
private fun hideMainActivityBottomSheetGroup() {
binding.mainActivityBottomSheetGroup.visibility = View.GONE
mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 10, 0)
mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 256, 0)
mapController.mMapView.vtmMap.animator().animateTo(
GeoPoint(
mapController.mMapView.vtmMap.mapPosition.geoPoint.latitude,

View File

@ -112,6 +112,11 @@ class MainViewModel @Inject constructor(
*/
val liveDataSignMoreInfo = MutableLiveData<RenderEntity>()
/**
* 捕捉到的itemList
*/
val liveDataItemList = MutableLiveData<List<RenderEntity>>()
private var traceTag: String = "TRACE_TAG"
/**
@ -156,6 +161,11 @@ class MainViewModel @Inject constructor(
*/
private var bSelectRoad = false
/**
* 是不是高亮任务线
*/
private var bHighRoad = true
/**
* 是不是选择轨迹点
*/
@ -447,7 +457,7 @@ class MainViewModel @Inject constructor(
withContext(Dispatchers.Main) {
if (Constant.AUTO_LOCATION) {
mapController.mMapView.vtmMap.animator()
.animateTo(GeoPoint(location.longitude, location.latitude))
.animateTo(GeoPoint(location.latitude, location.longitude))
}
}
}
@ -468,8 +478,10 @@ class MainViewModel @Inject constructor(
)
)
if (itemList.size > 0) {
if (itemList.size == 1) {
liveDataSignMoreInfo.postValue(itemList[0])
} else {
liveDataItemList.postValue(itemList)
}
}
}
@ -491,9 +503,6 @@ class MainViewModel @Inject constructor(
/* val linkList = realmOperateHelper.queryLine(
point = point,
)
// val linkList = realmOperateHelper.queryLine(point = point, buffer = 2.5, table = "OMDB_LANE_MARK_BOUNDARYTYPE")
buffer = 2.5,
table = "OMDB_LANE_MARK_BOUNDARYTYPE"
)*/
@ -832,6 +841,21 @@ class MainViewModel @Inject constructor(
return bSelectRoad
}
/**
* 开启线高亮
*/
fun setHighRoad(select: Boolean) {
bHighRoad = select
}
/**
* 是否开启线高亮
*/
fun isHighRoad(): Boolean {
return bHighRoad
}
/**
* 开启轨迹选择
*/

View File

@ -0,0 +1,30 @@
package com.navinfo.omqs.ui.fragment.itemlist
import android.view.LayoutInflater
import android.view.ViewGroup
import com.navinfo.collect.library.data.entity.RenderEntity
import com.navinfo.collect.library.enums.DataCodeEnum
import com.navinfo.omqs.databinding.AdapterItemBinding
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
import com.navinfo.omqs.ui.other.BaseViewHolder
class ItemAdapter(private var itemListener: ((Int, RenderEntity) -> Unit?)? = null) :
BaseRecyclerViewAdapter<RenderEntity>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder {
val viewBinding =
AdapterItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return BaseViewHolder(viewBinding)
}
override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
val binding = holder.viewBinding as AdapterItemBinding
var renderEntity = data[position]
binding.name.text = DataCodeEnum.findTableNameByCode(renderEntity.code)
binding.root.setOnClickListener {
if (itemListener != null) {
itemListener!!.invoke(position, renderEntity)
}
}
}
}

View File

@ -0,0 +1,51 @@
package com.navinfo.omqs.ui.fragment.itemlist
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.LinearLayoutManager
import com.navinfo.omqs.databinding.FragmentItemListBinding
import com.navinfo.omqs.ui.activity.map.MainViewModel
import com.navinfo.omqs.ui.fragment.BaseFragment
import com.navinfo.omqs.ui.widget.RecycleViewDivider
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
class ItemListFragment(private var backListener: ((ItemListFragment) -> Unit?)? = null) :
BaseFragment() {
private var _binding: FragmentItemListBinding? = null
private val binding get() = _binding!!
private val viewModel by activityViewModels<MainViewModel>()
private val adapter by lazy {
ItemAdapter { _, data ->
viewModel.showSignMoreInfo(data)
}
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View {
_binding = FragmentItemListBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
binding.itemListRecyclerview.layoutManager = LinearLayoutManager(requireContext())
binding.itemListRecyclerview.adapter = adapter
binding.itemListRecyclerview.addItemDecoration(
RecycleViewDivider(
requireContext(),
LinearLayoutManager.VERTICAL
)
)
viewModel.liveDataItemList.observe(viewLifecycleOwner) {
adapter.refreshData(it)
}
binding.taskBack.setOnClickListener {
backListener?.invoke(this)
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_hide_line" android:state_selected="true"></item>
<item android:drawable="@drawable/icon_high_line" />
</selector>

View File

@ -224,7 +224,7 @@
android:layout_width="wrap_content"
android:layout_height="0dp"
android:elevation="4dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="@id/main_activity_bottom_sheet_bg"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/right_fragment_nav_graph" />
@ -245,6 +245,15 @@
app:layout_constraintBottom_toTopOf="@id/main_activity_bottom_sheet"
app:layout_constraintLeft_toLeftOf="@id/main_activity_top_sign_recyclerview" />
<ImageButton
android:id="@+id/main_activity_map_update"
style="@style/zoom_btns_style"
android:layout_marginBottom="12dp"
android:onClick="@{(view)->mainActivity.refrushOnclick(view)}"
android:src="@drawable/icon_map_refrush"
app:layout_constraintBottom_toTopOf="@id/main_activity_zoom_in"
app:layout_constraintRight_toRightOf="@id/main_activity_zoom_in" />
<ImageButton
android:id="@+id/main_activity_zoom_out"
@ -276,8 +285,8 @@
android:layout_marginBottom="12dp"
android:onClick="@{()->viewModel.onClickLocationButton()}"
android:src="@drawable/icon_location"
app:layout_constraintBottom_toTopOf="@id/main_activity_zoom_in"
app:layout_constraintRight_toRightOf="@id/main_activity_zoom_in" />
app:layout_constraintBottom_toTopOf="@id/main_activity_map_update"
app:layout_constraintRight_toRightOf="@id/main_activity_map_update" />
<ImageButton
android:id="@+id/main_activity_add_new"
@ -307,24 +316,34 @@
app:layout_constraintBottom_toTopOf="@id/main_activity_voice"
app:layout_constraintRight_toRightOf="@id/main_activity_voice" />
<ImageButton
android:id="@+id/main_activity_close_line"
style="@style/zoom_btns_style"
android:layout_marginBottom="12dp"
android:background="@drawable/selector_road_line_bg"
android:onClick="@{()->mainActivity.openOrCloseLineOnclick()}"
android:src="@drawable/selector_high_road_line_src"
app:layout_constraintBottom_toTopOf="@id/main_activity_select_line"
app:layout_constraintRight_toRightOf="@id/main_activity_select_line" />
<androidx.constraintlayout.widget.Group
android:id="@+id/main_activity_right_visibility_buttons_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="main_activity_select_line,main_activity_voice,main_activity_add_new" />
app:constraint_referenced_ids="main_activity_close_line,main_activity_select_line,main_activity_voice,main_activity_add_new" />
<androidx.constraintlayout.widget.Group
android:id="@+id/main_activity_right_visibility_buttons_group2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="main_activity_select_line,main_activity_voice,main_activity_add_new,main_activity_zoom_in,main_activity_zoom_out,main_activity_geometry,main_activity_location" />
app:constraint_referenced_ids="main_activity_close_line,main_activity_select_line,main_activity_voice,main_activity_add_new,main_activity_map_update,main_activity_zoom_in,main_activity_zoom_out,main_activity_geometry,main_activity_location" />
<fragment
android:id="@+id/main_activity_middle_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="@id/main_activity_bottom_sheet_bg"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/main_activity_right_fragment"
app:layout_constraintTop_toTopOf="parent"

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dp">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="name"
android:textColor="@color/black"
android:textSize="16sp" />
</FrameLayout>

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/shape_left_fragment_bg"
tools:context=".ui.fragment.itemlist.ItemListFragment">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/task_back"
style="@style/btn_round"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@drawable/selector_bg_round_button"
android:foreground="@drawable/ripple_btn_press"
android:src="@drawable/ic_baseline_keyboard_arrow_left_24"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/task_fragment_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="捕捉列表"
android:textColor="@color/default_blue_text_color"
android:textSize="16sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/item_list_recyclerview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/task_fragment_title" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"

View File

@ -39,7 +39,7 @@
<item
android:id="@+id/personal_center_menu_version"
android:icon="@drawable/ic_baseline_layers_24"
android:title="版本ONE_23QE4_V1.2.0_20230811_A" />
android:title="版本ONE_23QE4_V1.3.0_20230817_A" />
</group>
<group android:checkableBehavior="single">
<item android:title="小标题">

View File

@ -2068,12 +2068,16 @@
</m>
</m>
</m>
<m k="boundaryType" v="3|4|5|7">
<m k="boundaryType" v="4">
<line stroke="#FFBC6E" use="boundaryType" width="0.1"/>
<symbol repeat-gap="12" repeat="true" repeat-start="0" src="assets:omdb/icon_2013_4.svg" symbol-width="16" symbol-height="46"></symbol>
</m>
<m k="boundaryType" v="3">
<symbol repeat="true" repeat-gap="4" repeat-start="0" src="assets:omdb/icon_2013_3.svg" symbol-width="10" symbol-height="8"></symbol>
</m>
<m k="boundaryType" v="5|7">
<line stroke="#ffffff" use="boundaryType" />
</m>
<!-- <m k="boundaryType" v="0|3|4|5|6|7|8|9">
<line stroke="#ffffff" use="boundaryType" />
</m>-->
</m>
<!-- 道路属性 -->
@ -2179,16 +2183,7 @@
<!-- 环岛 -->
<m v="OMDB_ROUNDABOUT">
<line stroke="#fcba5a" width="0.5" />
<m k="type" v="s_2_p">
<symbol repeat="false" repeat-start="0" rotate="false" repeat-gap="0"
src="assets:omdb/icon_2204_0.svg" symbol-height="56" symbol-width="56"></symbol>
</m>
<m k="type" v="e_2_p">
<symbol repeat="false" repeat-start="0" rotate="false" repeat-gap="0"
src="assets:omdb/icon_2204_0.svg" symbol-height="56" symbol-width="56"></symbol>
</m>
<symbol repeat="true" repeat-start="0" repeat-gap="32" src="assets:omdb/icon_2204_0.svg"></symbol>
</m>
<!--常规点限速-->

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="49.7" height="24" viewBox="0 0 49.7 24"><defs><style>.f{fill:rgba(155,155,155,0);}.g{fill:none;}.h{fill:#050505;}.i{fill:#fff;}</style></defs><g id="c"><g><path id="d" class="f" d="M0,0H49.7V24H0V0Z"/><polygon class="g" points="0 0 0 12 0 12 0 24 49.7 24 49.7 12 49.7 12 49.7 0 0 0"/><g><rect id="e" class="i" x="0" y="11.6" width="49.7" height="12.4"/><polygon class="h" points="8.3 11.6 3.8 11.6 11.1 24 14.4 22.1 8.3 11.6 8.3 11.6"/><polygon class="h" points="24.8 11.6 20.4 11.6 27.6 24 31 22.1 24.8 11.6 24.8 11.6"/><polygon class="h" points="41.4 11.6 36.9 11.6 44.2 24 47.5 22.1 41.4 11.6 41.4 11.6"/></g><polygon class="i" points="49.7 11 0 11 0 12.2 49.7 12.2 49.7 11 49.7 11"/></g></g></svg>

After

Width:  |  Height:  |  Size: 793 B

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" xmlns="http://www.w3.org/2000/svg" width="107.5" height="105.4"
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 107.5 105.4">
<defs>
<style>.f{fill:url(#d);}.g{fill:url(#e);}.h{fill:none;}.i{fill:#fff;}</style>
<linearGradient id="d" x1="640.3" y1="-514.6" x2="633.9" y2="-514.6"
gradientTransform="translate(-610.3 579.1)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#989898" />
<stop offset=".1" stop-color="#c1c1c1" />
<stop offset=".3" stop-color="#e3e3e3" />
<stop offset=".4" stop-color="#f7f7f7" />
<stop offset=".5" stop-color="#fff" />
<stop offset=".6" stop-color="#fbfbfb" />
<stop offset=".6" stop-color="#f1f2f2" />
<stop offset=".7" stop-color="#e0e1e2" />
<stop offset=".8" stop-color="#c9c9cb" />
<stop offset=".8" stop-color="#aaabad" />
<stop offset=".9" stop-color="#848689" />
<stop offset="1" stop-color="#585b5e" />
<stop offset="1" stop-color="#3f4246" />
</linearGradient>
<linearGradient id="e" x1="77.7" y1="64.5" x2="84.1" y2="64.5"
gradientTransform="matrix(1, 0, 0, 1, 0, 0)" xlink:href="#d" />
</defs>
<g id="c">
<g>
<rect class="h" width="107.5" height="105.4" />
<g>
<g>
<path class="i"
d="M48.2,57.4h1.5c.1,0,.2,.1,.2,.2v14.6c0,0,0,.1-.1,.1h-1.8s0,0,0,0v-14.7c0-.1,.1-.2,.2-.2Z" />
<path class="i"
d="M38.3,57.4h1.5c.1,0,.2,.1,.2,.2v14.6c0,0,0,.1-.1,.1h-1.8s0,0,0,0v-14.7c0-.1,.1-.2,.2-.2Z" />
<path class="i"
d="M68.1,57.4h1.5c.1,0,.2,.1,.2,.2v14.6c0,0,0,.1-.1,.1h-1.8s0,0,0,0v-14.7c0-.1,.1-.2,.2-.2Z" />
<path class="i"
d="M58.2,57.4h1.5c.1,0,.2,.1,.2,.2v14.6c0,0,0,.1-.1,.1h-1.8s0,0,0,0v-14.7c0-.1,.1-.2,.2-.2Z" />
<path class="i"
d="M101.8,57.4h1.5c.1,0,.2,.1,.2,.2v14.6c0,0,0,.1-.1,.1h-1.8s0,0,0,0v-14.7c0-.1,.1-.2,.2-.2Z" />
<path class="i"
d="M91.9,57.4h1.5c.1,0,.2,.1,.2,.2v14.6c0,0,0,.1-.1,.1h-1.8s0,0,0,0v-14.7c0-.1,.1-.2,.2-.2Z" />
<path class="i"
d="M14.3,57.4h1.5c.1,0,.2,.1,.2,.2v14.6c0,0,0,.1-.1,.1h-1.8s0,0,0,0v-14.7c0-.1,.1-.2,.2-.2Z" />
<path class="i"
d="M4.4,57.4h1.5c.1,0,.2,.1,.2,.2v14.6c0,0,0,.1-.1,.1h-1.8s0,0,0,0v-14.7c0-.1,.1-.2,.2-.2Z" />
<path class="i"
d="M52.8,3.3h1.8c.1,0,.2,.1,.2,.2V110.7c0,0,0,.1-.1,.1h-2.1s0,0,0,0V3.5c0-.1,.1-.2,.2-.2Z"
transform="translate(-3.3 110.8) rotate(-90)" />
<path class="i"
d="M52.8,18h1.8c.1,0,.2,.1,.2,.2V125.4c0,0,0,.1-.1,.1h-2.1s0,0,0,0V18.2c0-.1,.1-.2,.2-.2Z"
transform="translate(-18 125.5) rotate(-90)" />
</g>
<path class="f"
d="M24.5,52.3h4.9c.6,0,1.1,.5,1.1,1.1v22.3c0,.5-.4,1-1,1h-5.2c-.5,0-.9-.4-.9-.9v-22.3c0-.6,.5-1.1,1.1-1.1Z"
transform="translate(54 129) rotate(180)" />
<path class="g"
d="M78.3,52.3h4.9c.6,0,1.1,.5,1.1,1.1v22.3c0,.5-.4,1-1,1h-5.2c-.5,0-.9-.4-.9-.9v-22.3c0-.6,.5-1.1,1.1-1.1Z" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="131.3" height="131.3" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 131.3 131.3"><defs><style>.i{fill:url(#g);}.j{fill:url(#h);stroke:#8b9fae;stroke-miterlimit:10;stroke-width:1.1px;}.k{fill:#fff;}.l{fill:#1566e8;}.m{fill:#535a60;}.n{fill:none;opacity:0;}.o{fill:#262d34;isolation:isolate;opacity:.2;}</style><linearGradient id="g" x1="63.4" y1="374.1" x2="68.2" y2="374.1" gradientTransform="translate(0 428.8) scale(1 -1)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#989898"/><stop offset="0" stop-color="#a3a3a3"/><stop offset="0" stop-color="#c4c5c5"/><stop offset=".2" stop-color="#d8d9d9"/><stop offset=".3" stop-color="#e0e1e1"/><stop offset=".4" stop-color="#dbdcdc"/><stop offset=".5" stop-color="#cccece"/><stop offset=".6" stop-color="#b5b6b7"/><stop offset=".7" stop-color="#949697"/><stop offset=".8" stop-color="#6a6c6f"/><stop offset=".8" stop-color="#3f4246"/><stop offset="1" stop-color="#404247"/><stop offset="1" stop-color="#43434a"/></linearGradient><linearGradient id="h" x1="41.1" y1="402.1" x2="90.2" y2="402.1" gradientTransform="translate(0 428.8) scale(1 -1)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#afbacb"/><stop offset="0" stop-color="#c1ccda"/><stop offset=".4" stop-color="#d9e6f0"/><stop offset=".5" stop-color="#e3f0f8"/><stop offset=".6" stop-color="#dde9f2"/><stop offset=".8" stop-color="#ccd8e4"/><stop offset="1" stop-color="#b1bbcc"/><stop offset="1" stop-color="#aeb8c9"/></linearGradient></defs><g id="c"><g id="d"><g><rect class="n" width="131.3" height="131.3"/><g><ellipse id="e" class="o" cx="65.7" cy="66.2" rx="14.4" ry="3.7"/><ellipse id="f" class="m" cx="65.7" cy="66.2" rx="7.5" ry="3"/><path class="i" d="M65.7,42.6h0c1.4,0,2.6,1.2,2.6,2.6v19.2c0,1.4-1.1,2.5-2.5,2.5h-.3c-1.4,0-2.5-1.1-2.5-2.5v-19.3c0-1.4,1.2-2.6,2.6-2.6h.1Z"/><path class="j" d="M65.6,1h0c13.5,0,24.5,11,24.5,24.5v2.4c0,13.5-11,24.5-24.5,24.5h0c-13.5,0-24.5-11-24.5-24.5v-2.4c0-13.5,11-24.5,24.5-24.5Z"/><path class="l" d="M65.7,3.3h0c13.3,0,24,10.7,24,24v.5c0,13.3-10.7,24-24,24h0c-13.3,0-24-10.7-24-24v-.5c0-13.3,10.7-24,24-24Z"/><g><path class="k" d="M55,10.3l3.5-1.7-1.4,3.9,.3,.8c8.4-3.6,15-2.4,21,3.9l-2.3,1.8c-4.8-5.2-10.8-6.1-17.4-3l.4,1,4.2,.9-3.5,2.1-7.9-2.6,3-7.1h.1Z"/><path class="k" d="M55.2,46l-3.2-2.2,4.1-.7,.5-.7c-7.2-5.4-9.5-11.7-7-19.9l2.7,1c-2.1,6.8,0,12.3,6.1,16.4l.6-.8-1.2-4.1,3.6,1.9,1.7,8.1-7.7,.9h-.2Z"/><path class="k" d="M86.5,27.8l-.3,3.9-2.7-3.2h-.8c-1,8.9-5.2,14-13.7,16l-.5-2.8c7-1.7,10.8-6.3,11.2-13.6h-1l-2.8,3.1-.2-4.1,6.1-5.5,4.8,6.1h0Z"/></g><g><path class="k" d="M60.6,30.4v.4c-.5,0-2.6,.4-3.1,.5v-1.1l1-.2v-1.8h-.8v-1.1h.8v-1.5h-.9v-1.1h2.9v1.1h-.9v1.5h.8v1.1h-.8v1.6l.9-.2v.7h0Zm4.3-.1c-.5-.7-1.2-1.6-1.7-2.2v4h-1.1v-3.5c-.3,.5-.7,1-1.2,1.4l-.8-.9c1-1,1.7-2.2,2.3-3.5h-1.6v-1.2h4.4v1.2h-1.6c-.2,.5-.4,1-.6,1.4h.3v.3l.3-.3c.6,.5,1.6,1.6,2.1,2.3l-.7,.9h-.1Z"/><path class="k" d="M71.8,31.2h-5.1v-2.2h1.1v1.2h1v-1.4h1.1v1.4h.9v-1.2h1.1v2.2h0Zm2-3.4s0,2.8,0,3c0,1-.3,1.3-1.1,1.3h-.9l-.3-.8h.7c.4,0,.4-.3,.4-.8v-1.9h-5.4v-4h1.7c0-.2,.2-.5,.3-.7h1.2c0,.3,0,.5-.2,.7h2.8v1.7c0,1-.4,1.1-1.2,1.2h-.6l-.3-.8h.5c.4,0,.5-.2,.5-.4v-.7h-2.4c.4,.3,.8,.6,1.1,.9l-.6,.8c-.4-.4-.9-.8-1.3-1.1l.5-.6h-.8v2.1h5.5Z"/></g></g></g></g></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="36" viewBox="0 0 64 36"><defs><style>.a,.c{fill:#fff;}.a{stroke:#1566e8;}.b{fill:#1566e8;}.c{font-size:23px;font-family:PingFangSC-Regular, PingFang SC;}.d{stroke:none;}.e{fill:none;}</style></defs><g transform="translate(-301 -1485)"><g class="a" transform="translate(301 1485)"><rect class="d" width="64" height="36" rx="5"/><rect class="e" x="0.5" y="0.5" width="63" height="35" rx="4.5"/></g><rect class="b" width="58" height="30" rx="5" transform="translate(304 1488)"/><text class="c" transform="translate(310 1511)"><tspan x="0" y="0">环岛</tspan></text></g></svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 632 B

View File

@ -61,6 +61,18 @@ enum class DataCodeEnum(var tableName: String, var code: String) {
OMDB_ELECTRONICEYE("电子眼", "4010"),
OMDB_TRAFFICLIGHT("交通灯", "4022"),
OMDB_LANEINFO("车信", "4601"),
OMDB_LANE_LINK_LG("车道中心线", "5001")
OMDB_LANE_LINK_LG("车道中心线", "5001");
companion object {
fun findTableNameByCode(code: String): String? {
for (enumInstance in DataCodeEnum.values()) {
if (enumInstance.code == code) {
return enumInstance.tableName
}
}
return null // 若未找到匹配的 code则返回 null 或其他适当的默认值
}
}
}

View File

@ -60,7 +60,7 @@ class LineHandler(context: AppCompatActivity, mapView: NIMapView) : BaseHandler(
.fillColor(context.resources.getColor(R.color.draw_line_red_color))
.fillAlpha(0.5f)
.strokeColor(context.resources.getColor(R.color.draw_line_red_color))
.strokeWidth(2f)
.strokeWidth(3f)
.fixed(true).build()
)
addLayer(layer, NIMapView.LAYER_GROUPS.VECTOR)
@ -209,6 +209,11 @@ class LineHandler(context: AppCompatActivity, mapView: NIMapView) : BaseHandler(
omdbTaskLinkLayer.update()
mMapView.vtmMap.updateMap(true)
}
fun taskMarkerLayerEnable(boolean: Boolean){
omdbTaskLinkLayer.isEnabled = boolean
mMapView.vtmMap.updateMap(true)
}
}
interface OnTaskLinkItemClickListener : BaseClickListener {