Merge branch 'master' of gitlab.navinfo.com:CollectVehicle/OneMapQS

This commit is contained in:
xiaoyan 2023-06-20 14:30:30 +08:00
commit f6346acb89
34 changed files with 367 additions and 398 deletions

View File

@ -149,11 +149,9 @@ class OfflineMapDownloadScope(
}
}
Log.e("jingo", "文件下载完成 ${cityBean.currentSize} == ${cityBean.fileSize}")
if (cityBean.currentSize == cityBean.fileSize) {
val res =
fileTemp.renameTo(File("${Constant.OFFLINE_MAP_PATH}${cityBean.fileName}"))
Log.e("jingo", "文件下载完成 修改文件 $res")
change(FileDownloadStatus.DONE)
withContext(Dispatchers.Main) {
downloadManager.mapController.layerManagerHandler.loadBaseMap()

View File

@ -188,7 +188,6 @@ class TaskDownloadScope(
responseBody ?: throw IOException("jingo ResponseBody is null")
if (startPosition == 0L) {
taskBean.fileSize = responseBody.contentLength()
Log.e("jingo", "当前文件大小 ${taskBean.fileSize}")
}
change(FileDownloadStatus.LOADING)
//写入文件

View File

@ -23,6 +23,7 @@ import com.navinfo.collect.library.map.NIMapController
import com.navinfo.omqs.Constant
import com.navinfo.omqs.R
import com.navinfo.omqs.bean.ImportConfig
import com.navinfo.omqs.bean.SignBean
import com.navinfo.omqs.databinding.ActivityMainBinding
import com.navinfo.omqs.http.offlinemapdownload.OfflineMapDownloadManager
import com.navinfo.omqs.tools.LayerConfigUtils
@ -67,9 +68,7 @@ class MainActivity : BaseActivity() {
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
val data: Intent? = result.data
Log.e("jingo", "MainActivity someActivityResultLauncher RESULT_OK")
} else {
Log.e("jingo", "MainActivity someActivityResultLauncher ${result.resultCode}")
}
}
@ -88,16 +87,44 @@ class MainActivity : BaseActivity() {
* 提前显示要素看板
*/
private val signAdapter by lazy {
SignAdapter { _, autoSave, signBean ->
rightController.currentDestination?.let {
if (it.id == R.id.RightEmptyFragment) {
val bundle = Bundle()
bundle.putParcelable("SignBean", signBean)
bundle.putBoolean("AutoSave", autoSave)
rightController.navigate(R.id.EvaluationResultFragment, bundle)
SignAdapter(object : OnSignAdapterClickListener {
override fun onItemClick(signBean: SignBean) {
rightController.currentDestination?.let {
if (it.id == R.id.RightEmptyFragment) {
val bundle = Bundle()
bundle.putParcelable("SignBean", signBean)
bundle.putBoolean("AutoSave", false)
rightController.navigate(R.id.EvaluationResultFragment, bundle)
}
}
}
}
override fun onMoreInfoClick(selectTag: String, tag: String, signBean: SignBean) {
if (binding.mainActivitySignMoreInfoGroup.visibility != View.VISIBLE || selectTag != tag) {
binding.mainActivitySignMoreInfoGroup.visibility = View.VISIBLE
binding.mainActivitySignMoreInfoTitle.text = signBean.name
binding.mainActivitySignMoreInfoText1.text = signBean.bottomRightText
binding.mainActivitySignMoreInfoText2.text = signBean.moreText
} else {
binding.mainActivitySignMoreInfoGroup.visibility = View.GONE
}
}
override fun onErrorClick(signBean: SignBean) {
rightController.currentDestination?.let {
if (it.id == R.id.RightEmptyFragment) {
val bundle = Bundle()
bundle.putParcelable("SignBean", signBean)
bundle.putBoolean("AutoSave", true)
rightController.navigate(R.id.EvaluationResultFragment, bundle)
}
}
}
override fun onHideMoreInfoView() {
binding.mainActivitySignMoreInfoGroup.visibility = View.GONE
}
})
}
/**
@ -150,11 +177,9 @@ class MainActivity : BaseActivity() {
when (event?.action) {
MotionEvent.ACTION_DOWN -> {
voiceOnTouchStart()//Do Something
Log.e("qj", "voiceOnTouchStart")
}
MotionEvent.ACTION_UP -> {
voiceOnTouchStop()//Do Something
Log.e("qj", "voiceOnTouchStop")
}
}
v?.onTouchEvent(event) ?: true
@ -205,9 +230,9 @@ class MainActivity : BaseActivity() {
}
//监听地图中点变化
viewModel.liveDataCenterPoint.observe(this) {
Log.e("qj","${it.longitude}")
try{
if(it!=null&&it.longitude!=null&&it.latitude!=null){
Log.e("qj", "${it.longitude}")
try {
if (it != null && it.longitude != null && it.latitude != null) {
binding.mainActivityGeometry.text = "经纬度:${
BigDecimal(it.longitude).setScale(
7,
@ -215,8 +240,8 @@ class MainActivity : BaseActivity() {
)
},${BigDecimal(it.latitude).setScale(7, RoundingMode.HALF_UP)}"
}
}catch (e:Exception){
Log.e("qj","异常")
} catch (e: Exception) {
Log.e("qj", "异常 $e")
}
}
@ -248,7 +273,7 @@ class MainActivity : BaseActivity() {
val view = this.layoutInflater.inflate(R.layout.dialog_view_edittext, null)
val inputDialog = MaterialAlertDialogBuilder(
this
).setTitle("标记原因").setView(view)
).setTitle("坐标定位").setView(view)
var editText = view.findViewById<EditText>(R.id.dialog_edittext)
editText.hint = "请输入经纬度例如:\n116.1234567,39.1234567\n116.1234567 39.1234567"
inputDialog.setNegativeButton("取消") { dialog, _ ->
@ -260,7 +285,7 @@ class MainActivity : BaseActivity() {
val parts = editText.text.toString().split("[,\\s]".toRegex())
if (parts.size == 2) {
val x = parts[0].toDouble()
val y = parts[0].toDouble()
val y = parts[1].toDouble()
mapController.animationHandler.animationByLatLon(y, x)
} else {
Toast.makeText(this, "输入格式不正确", Toast.LENGTH_SHORT).show()
@ -415,6 +440,12 @@ class MainActivity : BaseActivity() {
*/
fun onSwitchSheet() {
if (binding.mainActivityBottomSheetGroup.visibility == View.VISIBLE) {
leftFragment?.let {
supportFragmentManager.beginTransaction().remove(it).commit()
leftFragment = null
binding.mainActivityLeftFragment.visibility = View.GONE
}
binding.mainActivityBottomSheetGroup.visibility = View.GONE
} else {
binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
@ -474,10 +505,18 @@ class MainActivity : BaseActivity() {
.replace(R.id.main_activity_left_fragment, leftFragment!!).commit()
}
}
/**
* 路径规划
*/
fun onClickRouteFragment() {
Toast.makeText(this, "功能开发中", Toast.LENGTH_SHORT).show()
}
/**
* 打开离线地图
*/
fun onClickOfflineMapFragment(){
fun onClickOfflineMapFragment() {
if (leftFragment !is OfflineMapFragment) {
if (leftFragment == null) {
binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE

View File

@ -183,11 +183,10 @@ class MainViewModel @Inject constructor(
location.tiley = y
}
}
Log.e("jingo", "定位点插入 ${location.longitude}")
location.groupId = uuid
try {
location.timeStamp = DateTimeUtil.getTime(location.time).toString()
}catch (e: Exception){
} catch (e: Exception) {
}
traceDataBase.niLocationDao.insert(location)
@ -244,7 +243,8 @@ class MainViewModel @Inject constructor(
geometry = element.geometry,
name = SignUtil.getSignNameText(element),
bottomRightText = SignUtil.getSignBottomRightText(element),
elementCode = element.code
elementCode = element.code,
moreText = SignUtil.getMoreInfoText(element)
)
when (element.code) {
@ -292,9 +292,8 @@ class MainViewModel @Inject constructor(
speakMode?.speakText(speechText)
}
linkIdCache = linkId ?: ""
Log.e("jingo", "自动捕捉数据 共${signList.size}")
}
}else{
} else {
mapController.lineHandler.removeLine()
linkIdCache = ""
}

View File

@ -1,6 +1,7 @@
package com.navinfo.omqs.ui.activity.map
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.navinfo.omqs.R
import com.navinfo.omqs.bean.SignBean
@ -8,8 +9,19 @@ import com.navinfo.omqs.databinding.AdapterSignBinding
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
import com.navinfo.omqs.ui.other.BaseViewHolder
class SignAdapter(private var itemListener: ((Int, Boolean, SignBean) -> Unit?)? = null) :
interface OnSignAdapterClickListener {
fun onItemClick(signBean: SignBean)
fun onMoreInfoClick(selectTag: String, tag: String, signBean: SignBean)
fun onErrorClick(signBean: SignBean)
fun onHideMoreInfoView()
}
class SignAdapter(private var listener: OnSignAdapterClickListener?) :
BaseRecyclerViewAdapter<SignBean>() {
/**
* 选中的详细信息按钮的tag标签
*/
private var selectMoreInfoTag: String = ""
override fun getItemViewRes(position: Int): Int {
return R.layout.adapter_sign
}
@ -22,17 +34,40 @@ class SignAdapter(private var itemListener: ((Int, Boolean, SignBean) -> Unit?)?
override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
val bd = holder.viewBinding as AdapterSignBinding
val item = data[position]
if (item.iconId != 0)
bd.signMainIconBg.setImageResource(item.iconId)
if (item.iconId != 0) bd.signMainIconBg.setImageResource(item.iconId)
bd.signMainIcon.text = item.iconText
bd.signBottomText.text = item.name
bd.signMainFastError.setOnClickListener{
itemListener?.invoke(position, true,item)
holder.tag = item.name + position
//点击错误按钮
bd.signMainFastError.setOnClickListener {
listener?.onErrorClick(item)
}
bd.signBottomRightText.text = item.bottomRightText
bd.root.setOnClickListener {
itemListener?.invoke(position, false,item)
listener?.onItemClick(item)
}
if (item.moreText.isNotEmpty()) {
bd.signMainInfo.visibility = View.VISIBLE
//点击更多信息按钮
bd.signMainInfo.setOnClickListener {
listener?.onMoreInfoClick(selectMoreInfoTag, holder.tag, item)
selectMoreInfoTag = holder.tag
}
} else bd.signMainInfo.visibility = View.GONE
}
override fun refreshData(newData: List<SignBean>) {
super.refreshData(newData)
for (i in newData.indices) {
if (selectMoreInfoTag == newData[i].name + i) {
return
}
}
listener?.onHideMoreInfoView()
}
}

View File

@ -6,6 +6,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.View.OnClickListener
import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.transition.AutoTransition
import androidx.transition.Scene
@ -64,14 +65,12 @@ class ConsoleFragment : BaseFragment(), OnClickListener {
override fun onTransitionStart(transition: androidx.transition.Transition) {
sceneFlag = true
if (mFragment != null) {
Log.e("jingo", "动画开始B mFragment 不为null")
childFragmentManager.beginTransaction().remove(mFragment!!).commit()
mFragment = null
}
}
override fun onTransitionEnd(transition: androidx.transition.Transition) {
Log.e("jingo", "动画A结束")
initOnClickListener()
}
@ -89,7 +88,6 @@ class ConsoleFragment : BaseFragment(), OnClickListener {
override fun onTransitionStart(transition: androidx.transition.Transition) {
sceneFlag = false
if (mFragment != null) {
Log.e("jingo", "动画开始A mFragment 不为null")
childFragmentManager.beginTransaction().replace(fragmentId, mFragment!!)
.commit()
}
@ -156,6 +154,11 @@ class ConsoleFragment : BaseFragment(), OnClickListener {
*/
binding.consoleRoot.findViewById<View>(R.id.console_task_bg)?.setOnClickListener(this)
binding.consoleRoot.findViewById<View>(R.id.console_task_icon_bg)?.setOnClickListener(this)
/**
* 路径规划
*/
binding.consoleRoot.findViewById<View>(R.id.console_route_bg)?.setOnClickListener(this)
binding.consoleRoot.findViewById<View>(R.id.console_route_icon_bg)?.setOnClickListener(this)
}
override fun onDestroy() {
@ -235,6 +238,9 @@ class ConsoleFragment : BaseFragment(), OnClickListener {
(a as MainActivity).onClickResFragment()
}
}
/**
* 任务列表
*/
R.id.console_task_icon_bg, R.id.console_task_bg -> {
activity?.let { a ->
a.supportFragmentManager.beginTransaction().remove(this).commit()
@ -242,6 +248,12 @@ class ConsoleFragment : BaseFragment(), OnClickListener {
}
}
/**
* 路径规划
*/
R.id.console_route_bg, R.id.console_route_icon_bg -> {
Toast.makeText(requireContext(), "功能开发中", Toast.LENGTH_SHORT).show()
}
else -> {}
}
}

View File

@ -98,17 +98,14 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
when (event?.action) {
MotionEvent.ACTION_DOWN -> {
voiceOnTouchStart()//Do Something
Log.e("qj", "voiceOnTouchStart")
}
MotionEvent.ACTION_UP -> {
voiceOnTouchStop()//Do Something
Log.e("qj", "ACTION_UP")
}
MotionEvent.ACTION_CANCEL -> {
voiceOnTouchStop()//Do Something
Log.e("qj", "ACTION_CANCEL")
}
}
true

View File

@ -97,7 +97,6 @@ class EvaluationResultViewModel @Inject constructor(
init {
liveDataQsRecordBean.value = QsRecordBean(id = UUID.randomUUID().toString())
Log.e("jingo", "EvaluationResultViewModel 创建了 ${hashCode()}")
viewModelScope.launch {
mapController.onMapClickFlow.collect {
liveDataQsRecordBean.value!!.geometry = GeometryTools.createGeometry(it).toText()
@ -111,7 +110,6 @@ class EvaluationResultViewModel @Inject constructor(
override fun onCleared() {
super.onCleared()
Log.e("jingo", "EvaluationResultViewModel 销毁了 ${hashCode()}")
mapController.markerHandle.removeMarker(markerTitle)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
mapController.lineHandler.removeLine()
@ -223,7 +221,6 @@ class EvaluationResultViewModel @Inject constructor(
* 获取问题环节列表和初步问题
*/
fun getProblemLinkList() {
Log.e("jingo", "getProblemLinkList S")
viewModelScope.launch(Dispatchers.IO) {
val list = roomAppDatabase.getScRootCauseAnalysisDao().findAllData()
list?.let { tl ->
@ -242,11 +239,9 @@ class EvaluationResultViewModel @Inject constructor(
}
if (liveDataQsRecordBean.value!!.problemLink.isEmpty()) {
liveDataQsRecordBean.value!!.problemLink = middleList[0]
Log.e("jingo", "getProblemLinkList ${middleList[0]}")
}
if (liveDataQsRecordBean.value!!.cause.isEmpty()) {
liveDataQsRecordBean.value!!.cause = rightList[0].text
Log.e("jingo", "getProblemLinkList ${rightList[0].text}")
}
liveDataQsRecordBean.postValue(liveDataQsRecordBean.value)
// liveDataMiddleTypeList.postValue(middleList)
@ -254,14 +249,12 @@ class EvaluationResultViewModel @Inject constructor(
}
}
}
Log.e("jingo", "getProblemLinkList E")
}
/**
* 获取问题类型列表和问题现象
*/
private suspend fun getProblemList(classType: String) {
Log.e("jingo", "getProblemList S")
val typeList = roomAppDatabase.getScProblemTypeDao().findProblemTypeList(classType)
typeList?.let { tl ->
if (tl.isNotEmpty()) {
@ -279,18 +272,15 @@ class EvaluationResultViewModel @Inject constructor(
}
if (liveDataQsRecordBean.value!!.problemType.isEmpty()) {
liveDataQsRecordBean.value!!.problemType = typeTitleList[0]
Log.e("jingo", "getProblemList ${typeTitleList[0]}")
}
// liveDataMiddleTypeList.postValue(typeTitleList)
if (liveDataQsRecordBean.value!!.phenomenon.isEmpty()) {
liveDataQsRecordBean.value!!.phenomenon = phenomenonRightList[0].text
Log.e("jingo", "getProblemList ${phenomenonRightList[0].text}")
}
liveDataQsRecordBean.postValue(liveDataQsRecordBean.value)
liveDataRightTypeList.postValue(phenomenonRightList)
}
}
Log.e("jingo", "getProblemList E")
}
/**
@ -341,7 +331,6 @@ class EvaluationResultViewModel @Inject constructor(
mDialog.dismiss()
viewModelScope.launch(Dispatchers.IO) {
val realm = Realm.getDefaultInstance()
Log.e("jingo", "realm hashCOde ${realm.hashCode()}")
realm.executeTransaction {
val objects = it.where(QsRecordBean::class.java)
.equalTo("id", liveDataQsRecordBean.value?.id).findFirst()

View File

@ -34,7 +34,6 @@ class PhenomenonFragment :
savedInstanceState: Bundle?
): View {
_binding = FragmentPhenomenonBinding.inflate(inflater, container, false)
Log.e("jingo", "PhenomenonFragment onCreateView ${hashCode()}")
return binding.root
}

View File

@ -34,15 +34,12 @@ class OfflineMapCityListAdapter(
val cityBean = data[it.tag as Int]
when (cityBean.status) {
FileDownloadStatus.NONE, FileDownloadStatus.UPDATE, FileDownloadStatus.PAUSE, FileDownloadStatus.ERROR -> {
Log.e("jingo", "开始下载 ${cityBean.status}")
downloadManager.start(cityBean.id)
}
FileDownloadStatus.LOADING, FileDownloadStatus.WAITING -> {
Log.e("jingo", "暂停 ${cityBean.status}")
downloadManager.pause(cityBean.id)
}
else -> {
Log.e("jingo", "暂停 ${cityBean.status}")
}
}
}
@ -85,7 +82,6 @@ class OfflineMapCityListAdapter(
if (id == holder.tag) {
val binding: AdapterOfflineMapCityBinding =
holder.viewBinding as AdapterOfflineMapCityBinding
Log.e("jingo", "进度条更新 $id ${bean.id} ${holder.tag} ")
changeViews(binding, bean)
}
}
@ -95,7 +91,6 @@ class OfflineMapCityListAdapter(
private fun changeViews(binding: AdapterOfflineMapCityBinding, cityBean: OfflineMapCityBean) {
Log.e("jingo", "changeViews ${cityBean.status}")
binding.offlineMapProgress.progress =
(cityBean.currentSize * 100 / cityBean.fileSize).toInt()
when (cityBean.status) {

View File

@ -114,15 +114,15 @@ class PersonalCenterFragment(private var backListener: (() -> Unit?)? = null) :
niMapController.mMapView.vtmMap.animator()
.animateTo(GeoPoint( 39.80392140200183, 116.51446703352337 ))
}
R.id.personal_center_menu_task_list -> {
findNavController().navigate(R.id.TaskManagerFragment)
}
R.id.personal_center_menu_qs_record_list -> {
findNavController().navigate(R.id.QsRecordListFragment)
}
R.id.personal_center_menu_layer_manager -> { // 图层管理
findNavController().navigate(R.id.QsLayerManagerFragment)
}
// R.id.personal_center_menu_task_list -> {
// findNavController().navigate(R.id.TaskManagerFragment)
// }
// R.id.personal_center_menu_qs_record_list -> {
// findNavController().navigate(R.id.QsRecordListFragment)
// }
// R.id.personal_center_menu_layer_manager -> { // 图层管理
// findNavController().navigate(R.id.QsLayerManagerFragment)
// }
}
true
}

View File

@ -26,7 +26,6 @@ class QsRecordListViewModel @Inject constructor(
fun getList(context: Context) {
viewModelScope.launch(Dispatchers.IO) {
val realm = Realm.getDefaultInstance()
Log.e("jingo","realm hashCOde ${realm.hashCode()}")
val objects = realm.where(QsRecordBean::class.java).findAll()
liveDataQSList.postValue(realm.copyFromRealm(objects))
}

View File

@ -39,17 +39,14 @@ class TaskListAdapter(
if (taskBean.hadLinkDvoList.isNotEmpty()) {
when (taskBean.status) {
FileDownloadStatus.NONE, FileDownloadStatus.UPDATE, FileDownloadStatus.PAUSE, FileDownloadStatus.IMPORT, FileDownloadStatus.ERROR -> {
Log.e("jingo", "开始下载 ${taskBean.status}")
downloadManager.start(taskBean.id)
}
FileDownloadStatus.LOADING, FileDownloadStatus.WAITING -> {
Log.e("jingo", "暂停 ${taskBean.status}")
downloadManager.pause(taskBean.id)
}
else -> {
Log.e("jingo", "暂停 ${taskBean.status}")
}
}
} else {
@ -61,7 +58,6 @@ class TaskListAdapter(
private val uploadBtnClick = View.OnClickListener() {
if (it.tag != null) {
val taskBean = data[it.tag as Int]
Log.e("jingo", "开始上传 ${taskBean.syncStatus}")
if (taskBean.hadLinkDvoList.isNotEmpty()) {
when (taskBean.syncStatus) {
FileUploadStatus.NONE, FileUploadStatus.UPLOADING, FileUploadStatus.ERROR, FileUploadStatus.WAITING -> {

View File

@ -87,12 +87,30 @@ class SignUtil {
*/
fun getSignBottomRightText(data: RenderEntity): String {
return when (data.code) {
//点限速
//条件点限速
4003 -> getConditionLimitText(data)
else -> ""
}
}
/**
* 更多信息展示文字
*/
fun getMoreInfoText(data: RenderEntity): String {
return when (data.code) {
//条件点限速
4003 -> getConditionLimitMoreInfoText(data)
else -> ""
}
}
/**
* 条件点限速更多信息
*/
private fun getConditionLimitMoreInfoText(data: RenderEntity): String {
return data.properties["validPeriod"].toString()
}
/**
* 条件点限速文字
*/
@ -170,7 +188,7 @@ class SignUtil {
private fun getSpeedLimitIcon(data: RenderEntity): Int {
try {
//限速标志 0 限速开始 1 限速解除
return when (data.properties["speed_flag"]) {
return when (data.properties["speedFlag"]) {
"1" -> return R.drawable.icon_speed_limit_off
else -> return R.drawable.icon_speed_limit
}
@ -186,7 +204,7 @@ class SignUtil {
private fun getConditionalSpeedLimitIcon(data: RenderEntity): Int {
try {
//限速标志 0 限速开始 1 限速解除
return when (data.properties["speed_flag"]) {
return when (data.properties["speedFlag"]) {
"1" -> return R.drawable.icon_conditional_speed_limit_off
else -> return R.drawable.icon_conditional_speed_limit
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -3,10 +3,10 @@
android:shape="rectangle">
<corners
android:bottomLeftRadius="4dp"
android:bottomRightRadius="4dp"
android:topLeftRadius="4dp"
android:topRightRadius="4dp" />
android:bottomLeftRadius="8dp"
android:bottomRightRadius="8dp"
android:topLeftRadius="8dp"
android:topRightRadius="8dp" />
<solid android:color="#C42E303B" />

View File

@ -63,6 +63,61 @@
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/main_activity_sign_more_info_bg"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:layout_marginLeft="260dp"
android:layout_marginTop="40dp"
android:background="@drawable/main_sign_moreinfo_bg"
android:minHeight="140dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/main_activity_top_sign_recyclerview" />
<TextView
android:id="@+id/main_activity_sign_more_info_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:drawableLeft="@drawable/icon_main_moreinfo_text_left"
android:drawablePadding="4dp"
android:text="条件点限速"
android:textColor="@color/orange"
app:layout_constraintLeft_toLeftOf="@id/main_activity_sign_more_info_bg"
app:layout_constraintTop_toTopOf="@id/main_activity_sign_more_info_bg" />
<TextView
android:id="@+id/main_activity_sign_more_info_text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text="条件点限速"
android:textColor="@color/white"
app:layout_constraintRight_toRightOf="@id/main_activity_sign_more_info_bg"
app:layout_constraintTop_toBottomOf="@id/main_activity_sign_more_info_title" />
<TextView
android:id="@+id/main_activity_sign_more_info_text2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_marginRight="10dp"
android:singleLine="false"
android:text="条件点限速"
android:textColor="@color/white"
app:layout_constraintLeft_toLeftOf="@id/main_activity_sign_more_info_bg"
app:layout_constraintRight_toRightOf="@id/main_activity_sign_more_info_bg"
app:layout_constraintTop_toBottomOf="@id/main_activity_sign_more_info_text1" />
<androidx.constraintlayout.widget.Group
android:id="@+id/main_activity_sign_more_info_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
app:constraint_referenced_ids="main_activity_sign_more_info_bg,main_activity_sign_more_info_text2,main_activity_sign_more_info_text1,main_activity_sign_more_info_title" />
<androidx.constraintlayout.helper.widget.Flow
android:id="@+id/main_activity_flow"
android:layout_width="0dp"
@ -341,8 +396,8 @@
<ImageView
android:id="@+id/main_bottom_offline_map"
style="@style/main_activity_bottom_sheet_icon"
android:onClick="@{()->mainActivity.onClickOfflineMapFragment()}"
android:background="@drawable/icon_main_bottom_offline_map"
android:onClick="@{()->mainActivity.onClickOfflineMapFragment()}"
app:layout_constraintBottom_toTopOf="@id/main_bottom_offline_map_text"
app:layout_constraintLeft_toRightOf="@id/main_bottom_home"
app:layout_constraintRight_toLeftOf="@id/main_bottom_route"
@ -353,10 +408,10 @@
android:id="@+id/main_bottom_offline_map_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="@{()->mainActivity.onClickOfflineMapFragment()}"
android:text="离线地图"
android:textColor="@color/blue"
android:textSize="10sp"
android:onClick="@{()->mainActivity.onClickOfflineMapFragment()}"
app:layout_constraintBottom_toBottomOf="@id/main_activity_bottom_sheet_bg"
app:layout_constraintLeft_toLeftOf="@id/main_bottom_offline_map"
app:layout_constraintRight_toRightOf="@id/main_bottom_offline_map"
@ -368,6 +423,7 @@
android:background="@drawable/icon_main_bottom_route"
app:layout_constraintBottom_toTopOf="@id/main_bottom_route_text"
app:layout_constraintLeft_toRightOf="@id/main_bottom_offline_map"
android:onClick="@{()->mainActivity.onClickRouteFragment()}"
app:layout_constraintRight_toRightOf="@id/main_activity_bottom_sheet_bg"
app:layout_constraintTop_toTopOf="@id/main_bottom_task"
app:layout_constraintVertical_chainStyle="packed" />
@ -379,6 +435,7 @@
android:text="路径规划"
android:textColor="@color/blue"
android:textSize="10sp"
android:onClick="@{()->mainActivity.onClickRouteFragment()}"
app:layout_constraintBottom_toBottomOf="@id/main_activity_bottom_sheet_bg"
app:layout_constraintLeft_toLeftOf="@id/main_bottom_route"
app:layout_constraintRight_toRightOf="@id/main_bottom_route"
@ -388,7 +445,7 @@
android:id="@+id/main_activity_bottom_sheet_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible"
android:visibility="gone"
app:constraint_referenced_ids="
main_bottom_route_text,
main_bottom_offline_map_text,
@ -409,5 +466,4 @@
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@ -46,10 +46,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/sign_bottom_text"
android:layout_alignParentRight="true"
android:layout_marginRight="15dp"
android:gravity="center"
android:text="其他信息"
android:layout_alignRight="@id/sign_main_bg"
android:textColor="@color/white"
android:textSize="14sp" />

View File

@ -97,7 +97,6 @@
<TextView
android:id="@+id/task_progress_text"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/task_download_btn"

View File

@ -5,7 +5,6 @@
android:id="@+id/console_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/console_bg"
tools:context=".ui.fragment.console.ConsoleFragment">
<androidx.constraintlayout.widget.Guideline

View File

@ -128,12 +128,16 @@
android:src="@drawable/icon_console_task"
app:layout_constraintBottom_toBottomOf="@id/console_task_bg"
app:layout_constraintLeft_toLeftOf="@id/console_task_bg"
app:layout_constraintTop_toTopOf="@id/console_task_bg" />
app:layout_constraintRight_toLeftOf="@id/console_task_icon_text"
app:layout_constraintTop_toTopOf="@id/console_task_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/console_task_icon_text"
style="@style/console_on_left_bottom_text"
android:text="测评任务"
app:layout_constraintBottom_toBottomOf="@id/console_task_bg"
app:layout_constraintLeft_toRightOf="@id/console_task_icon"
app:layout_constraintRight_toRightOf="@id/console_task_bg"
app:layout_constraintTop_toTopOf="@id/console_task_bg" />
@ -154,12 +158,16 @@
android:src="@drawable/icon_console_evaluation"
app:layout_constraintBottom_toBottomOf="@id/console_evaluation_bg"
app:layout_constraintLeft_toLeftOf="@id/console_evaluation_bg"
app:layout_constraintTop_toTopOf="@id/console_evaluation_bg" />
app:layout_constraintRight_toLeftOf="@id/console_evaluation_icon_text"
app:layout_constraintTop_toTopOf="@id/console_evaluation_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/console_evaluation_icon_text"
style="@style/console_on_left_bottom_text"
android:text="测评结果"
app:layout_constraintBottom_toBottomOf="@id/console_evaluation_bg"
app:layout_constraintLeft_toRightOf="@id/console_evaluation_icon"
app:layout_constraintRight_toRightOf="@id/console_evaluation_bg"
app:layout_constraintTop_toTopOf="@id/console_evaluation_bg" />
@ -180,12 +188,16 @@
android:src="@drawable/icon_console_offline_map"
app:layout_constraintBottom_toBottomOf="@id/console_offline_map_bg"
app:layout_constraintLeft_toLeftOf="@id/console_offline_map_bg"
app:layout_constraintTop_toTopOf="@id/console_offline_map_bg" />
app:layout_constraintRight_toLeftOf="@id/console_offline_map_icon_text"
app:layout_constraintTop_toTopOf="@id/console_offline_map_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/console_offline_map_icon_text"
style="@style/console_on_left_bottom_text"
android:text="离线地图"
app:layout_constraintBottom_toBottomOf="@id/console_offline_map_bg"
app:layout_constraintLeft_toRightOf="@id/console_offline_map_icon"
app:layout_constraintRight_toRightOf="@id/console_offline_map_bg"
app:layout_constraintTop_toTopOf="@id/console_offline_map_bg" />
@ -205,12 +217,16 @@
android:src="@drawable/icon_console_route"
app:layout_constraintBottom_toBottomOf="@id/console_route_bg"
app:layout_constraintLeft_toLeftOf="@id/console_route_bg"
app:layout_constraintTop_toTopOf="@id/console_route_bg" />
app:layout_constraintRight_toLeftOf="@id/console_route_icon_text"
app:layout_constraintTop_toTopOf="@id/console_route_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/console_route_icon_text"
style="@style/console_on_left_bottom_text"
android:text="路径规划"
app:layout_constraintBottom_toBottomOf="@id/console_route_bg"
app:layout_constraintLeft_toRightOf="@id/console_route_icon"
app:layout_constraintRight_toRightOf="@id/console_route_bg"
app:layout_constraintTop_toTopOf="@id/console_route_bg" />
@ -232,12 +248,16 @@
android:src="@drawable/icon_console_layer_setting"
app:layout_constraintBottom_toBottomOf="@id/console_layer_setting_bg"
app:layout_constraintLeft_toLeftOf="@id/console_layer_setting_bg"
app:layout_constraintTop_toTopOf="@id/console_layer_setting_bg" />
app:layout_constraintRight_toLeftOf="@id/console_layer_setting_icon_text"
app:layout_constraintTop_toTopOf="@id/console_layer_setting_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/console_layer_setting_icon_text"
style="@style/console_on_left_bottom_text"
android:text="图层设置"
app:layout_constraintBottom_toBottomOf="@id/console_layer_setting_bg"
app:layout_constraintLeft_toRightOf="@id/console_layer_setting_icon"
app:layout_constraintRight_toRightOf="@id/console_layer_setting_bg"
app:layout_constraintTop_toTopOf="@id/console_layer_setting_bg" />
@ -257,12 +277,16 @@
android:src="@drawable/icon_console_personal_center"
app:layout_constraintBottom_toBottomOf="@id/console_personal_center_bg"
app:layout_constraintLeft_toLeftOf="@id/console_personal_center_bg"
app:layout_constraintTop_toTopOf="@id/console_personal_center_bg" />
app:layout_constraintRight_toLeftOf="@id/console_personal_center_icon_text"
app:layout_constraintTop_toTopOf="@id/console_personal_center_bg"
app:layout_constraintVertical_chainStyle="packed" />
<TextView
android:id="@+id/console_personal_center_icon_text"
style="@style/console_on_left_bottom_text"
android:text="个人中心"
app:layout_constraintBottom_toBottomOf="@id/console_personal_center_bg"
app:layout_constraintLeft_toRightOf="@id/console_personal_center_icon"
app:layout_constraintRight_toRightOf="@id/console_personal_center_bg"
app:layout_constraintTop_toTopOf="@id/console_personal_center_bg" />
@ -469,7 +493,7 @@
app:layout_constraintLeft_toLeftOf="@id/console_track_bg"
app:layout_constraintRight_toLeftOf="@id/console_track_text"
app:layout_constraintTop_toTopOf="@id/console_track_bg"
app:layout_constraintVertical_chainStyle="spread" />
app:layout_constraintVertical_chainStyle="packed" />
<ImageView
android:id="@+id/console_track_icon"

View File

@ -46,8 +46,8 @@
app:tabGravity="center"
app:tabIndicator="@null"
app:tabIndicatorHeight="0dp"
app:tabMaxWidth="150dp"
app:tabMinWidth="150dp"
app:tabMaxWidth="110dp"
app:tabMinWidth="110dp"
app:tabMode="scrollable"
app:tabPaddingEnd="6dp"
app:tabPaddingStart="6dp"

View File

@ -45,8 +45,8 @@
app:tabGravity="center"
app:tabIndicator="@null"
app:tabIndicatorHeight="0dp"
app:tabMaxWidth="150dp"
app:tabMinWidth="150dp"
app:tabMaxWidth="110dp"
app:tabMinWidth="110dp"
app:tabMode="scrollable"
app:tabPaddingEnd="6dp"
app:tabPaddingStart="6dp"

View File

@ -29,18 +29,18 @@
<group android:checkableBehavior="single">
<item android:title="小标题">
<menu>
<item
android:id="@+id/personal_center_menu_task_list"
android:icon="@drawable/ic_baseline_format_list_bulleted_24"
android:title="任务列表" />
<item
android:id="@+id/personal_center_menu_qs_record_list"
android:icon="@drawable/ic_baseline_playlist_add_check_24"
android:title="测评结果" />
<item
android:id="@+id/personal_center_menu_layer_manager"
android:icon="@drawable/ic_baseline_layers_24"
android:title="图层管理" />
<!-- <item-->
<!-- android:id="@+id/personal_center_menu_task_list"-->
<!-- android:icon="@drawable/ic_baseline_format_list_bulleted_24"-->
<!-- android:title="任务列表" />-->
<!-- <item-->
<!-- android:id="@+id/personal_center_menu_qs_record_list"-->
<!-- android:icon="@drawable/ic_baseline_playlist_add_check_24"-->
<!-- android:title="测评结果" />-->
<!-- <item-->
<!-- android:id="@+id/personal_center_menu_layer_manager"-->
<!-- android:icon="@drawable/ic_baseline_layers_24"-->
<!-- android:title="图层管理" />-->
<item
android:id="@+id/personal_center_menu_test"

View File

@ -40,7 +40,7 @@
<!--金色 -->
<!--粉红色 -->
<!--亮粉红色 -->
<color name="orange">#FFA500</color> <!--橙色 -->
<color name="orange">#FFBC6E</color> <!--橙色 -->
<!--亮肉色 -->
<!--暗桔黄色 -->
<!--珊瑚色 -->

View File

@ -24,7 +24,7 @@
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">@color/white</item>
<item name="android:textSize">18sp</item>
<item name="android:layout_margin">5dp</item>
</style>
<style name="title_default_style" comment="默认顶标题样式">

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<rendertheme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" map-background="#f4f4f4"
version="1" xmlns="http://opensciencemap.org/rendertheme"
xsi:schemaLocation="http://opensciencemap.org/rendertheme
version="1" xmlns="http://opensciencemap.org/rendertheme" xsi:schemaLocation="http://opensciencemap.org/rendertheme
https://raw.githubusercontent.com/mapsforge/vtm/master/resources/rendertheme.xsd">
<!--###### TRANSFORM tags ######-->
@ -46,8 +45,8 @@
<!--references-->
<style-text style="bold" fill="#606060" id="ref" k="ref" priority="2" size="12" stroke="#ffffff"
stroke-width="2.0" />
<style-text caption="true" style="bold" fill="#ffffff" id="ref-caption" k="ref" priority="2"
size="12" bg-fill="#45a976" />
<style-text style="bold" bg-fill="#45a976" caption="true" fill="#ffffff" id="ref-caption"
k="ref" priority="2" size="12" />
<!--ferry-->
<style-text style="bold" fill="#606060" id="ferry" k="name" size="12" stroke="#ffffff"
stroke-width="2.0" />
@ -174,7 +173,7 @@
<style-symbol id="oneway" repeat="true" src="assets:symbols/oneway.svg" />
<!-- omdb -->
<style-line id="boundaryType" width="0.1" stipple-width="0.1" />
<style-line id="boundaryType" stipple-width="0.1" width="0.1" />
<!--###### ASSIGNMENT ######-->
@ -1480,18 +1479,19 @@
</m>
<!-- 自定义渲染样式 -->
<m k="navi_type" zoom-min="15" zoom-max="22">
<m k="navi_type" zoom-max="22" zoom-min="15">
<!-- 车道中心线 -->
<m v="had_lane_link">
<line stroke="#ff0000" stipple-stroke="#00000000" dasharray="20,20" fix="true" width="0.3" />
<line dasharray="20,20" fix="true" stipple-stroke="#00000000" stroke="#ff0000"
width="0.3" />
</m>
<!-- 车道边线 -->
<m v="had_lane_mark_link">
<line stroke="#0000ff" width="0.1" stipple-width="0.5"/>
<line stipple-width="0.5" stroke="#0000ff" width="0.1" />
</m>
<!--道路箭头 objectArrow-->
<m v="object_arrow">
<area fill="#88aaaa00" stroke="#ff0000" stroke-width="0.1" fade="5"></area>
<area fade="5" fill="#88aaaa00" stroke="#ff0000" stroke-width="0.1"></area>
</m>
<!--人行横道 objectcrosswalk-->
<m v="object_crosswalk">
@ -1503,7 +1503,7 @@
</m>
<!--杆状物 objectpole-->
<m v="object_pole">
<line stroke="#8800aaaa" width="0.1" stipple-width="0.5"/>
<line stipple-width="0.5" stroke="#8800aaaa" width="0.1" />
</m>
<!--对象标志 objectsymbol-->
<m v="object_symbol">
@ -1514,7 +1514,7 @@
<area fill="#8800cc00" stroke="#00cc00" stroke-width="0.2"></area>
</m>
<m zoom-min="15" zoom-max="19">
<m zoom-max="19" zoom-min="15">
<text use="ferry" />
</m>
@ -1538,19 +1538,20 @@
<m k="nav_style">
<m v="symbol_object_line">
<m k="rule" zoom-min="15" zoom-max="22">
<m k="rule" zoom-max="22" zoom-min="15">
<!-- 蓝色黑色间隔线 -->
<m v="blue_link">
<line stroke="#00000000" stipple-stroke="#00000000" dasharray="20,20" fix="true" width="0.1" />
<line dasharray="20,20" fix="true" stipple-stroke="#00000000" stroke="#00000000"
width="0.1" />
</m>
<!-- 黄色线 -->
<m v="yellow_link">
<line stroke="#f4ea2a" width="0.1" stipple-width="0.1"/>
<line stipple-width="0.1" stroke="#f4ea2a" width="0.1" />
</m>
</m>
<line stroke="#33aaaa" width="0.3" stipple-width="0.5"/>
<line stipple-width="0.5" stroke="#33aaaa" width="0.3" />
</m>
<m v="symbol_track_point" zoom-min="10" zoom-max="25">
<m v="symbol_track_point" zoom-max="25" zoom-min="10">
<symbol src="assets:symbols/dot_blue.svg" />
</m>
</m>
@ -1560,53 +1561,53 @@
<m v="OMDB_LANE_NUM">
<m k="laneNum">
<m v="1">
<line stroke="#545D6C" width="3"/>
<line stroke="#545D6C" width="3" />
</m>
<m v="2">
<line stroke="#545D6C" width="6"/>
<line stroke="#545D6C" width="6" />
</m>
<m v="3">
<line stroke="#545D6C" width="9"/>
<line stroke="#545D6C" width="9" />
</m>
<m v="4">
<line stroke="#545D6C" width="12"/>
<line stroke="#545D6C" width="12" />
</m>
<m v="5">
<line stroke="#545D6C" width="15"/>
<line stroke="#545D6C" width="15" />
</m>
<m v="6">
<line stroke="#545D6C" width="18" />
</m>
<m v="7">
<line stroke="#545D6C" width="21"/>
<line stroke="#545D6C" width="21" />
</m>
<m v="8">
<line stroke="#545D6C" width="24"/>
<line stroke="#545D6C" width="24" />
</m>
<m v="9">
<line stroke="#545D6C" width="27"/>
<line stroke="#545D6C" width="27" />
</m>
<m v="10">
<line stroke="#545D6C" width="30"/>
<line stroke="#545D6C" width="30" />
</m>
<m v="11">
<line stroke="#545D6C" width="33"/>
<line stroke="#545D6C" width="33" />
</m>
<m v="12">
<line stroke="#545D6C" width="36"/>
<line stroke="#545D6C" width="36" />
</m>
</m>
</m>
<!-- 道路线 -->
<m v="OMDB_RD_LINK">
<line stroke="#9c9c9c" width="1"/>
<line stroke="#9c9c9c" width="1" />
</m>
<!--道路种别-->
<m v="OMDB_RD_LINK_KIND">
<outline-layer id="kind0" stroke="#44000000" width="0.1" />
<outline-layer id="kind1" stroke="#aa807040" width="0.1" />
<m k="kind" v="1">
<line outline="kind0" blur="0.3" use="highway:z11" />
<line blur="0.3" outline="kind0" use="highway:z11" />
</m>
<m k="kind" v="2|3">
<line outline="kind0" use="trunk" />
@ -1637,64 +1638,70 @@
<!--常规点限速-->
<m v="OMDB_SPEEDLIMIT">
<m k="speedFlag" v="0">
<!-- <symbol src="assets:omdb/round_speedlimit.svg" symbol-width="30" symbol-height="30"></symbol>-->
<caption k="maxSpeed" fill="#000000" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4002_0.svg" symbol-width="46" symbol-height="46"></symbol>
<caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"
stroke-width="1.0"></caption>
<!-- <symbol src="assets:omdb/round_speedlimit.svg" symbol-width="30" symbol-height="30"></symbol>-->
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4002_0.svg" symbol-height="46"
symbol-width="46"></symbol>
<!-- <caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"-->
<!-- stroke-width="1.0"></caption>-->
</m>
<m k="speedFlag" v="1">
<caption k="maxSpeed" fill="#000000" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4002_1.svg" symbol-width="46" symbol-height="46"></symbol>
<caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4002_1.svg" symbol-height="46"
symbol-width="46"></symbol>
<!-- <caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"-->
<!-- stroke-width="1.0"></caption>-->
</m>
</m>
<!--条件点限速-->
<m v="OMDB_SPEEDLIMIT_COND">
<m k="speedFlag" v="0">
<!-- <symbol src="assets:omdb/round_speedlimit.svg" symbol-width="30" symbol-height="30"></symbol>-->
<caption k="maxSpeed" fill="#000000" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4003_0.svg" symbol-width="46" symbol-height="46"></symbol>
<caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"
stroke-width="1.0"></caption>
<!-- <symbol src="assets:omdb/round_speedlimit.svg" symbol-width="30" symbol-height="30"></symbol>-->
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4003_0.svg" symbol-height="46"
symbol-width="46"></symbol>
<!-- <caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"-->
<!-- stroke-width="1.0"></caption>-->
</m>
<m k="speedFlag" v="1">
<caption k="maxSpeed" fill="#000000" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4003_1.svg" symbol-width="46" symbol-height="46"></symbol>
<caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4003_1.svg" symbol-height="46"
symbol-width="46"></symbol>
<!-- <caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"-->
<!-- stroke-width="1.0"></caption>-->
</m>
</m>
<!--可变点限速-->
<m v="OMDB_SPEEDLIMIT_VAR">
<m k="speedFlag" v="0">
<m k="speedFlag" v="0">
<!-- <symbol src="assets:omdb/round_speedlimit.svg" symbol-width="30" symbol-height="30"></symbol>-->
<caption k="maxSpeed" fill="#000000" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4004_0.svg" symbol-width="46" symbol-height="46"></symbol>
<caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4004_0.svg" symbol-height="46"
symbol-width="46"></symbol>
<!-- <caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"-->
<!-- stroke-width="1.0"></caption>-->
</m>
<m k="speedFlag" v="1">
<caption k="maxSpeed" fill="#000000" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4004_1.png" symbol-width="46" symbol-height="46"></symbol>
<caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
stroke-width="1.0"></caption>
<symbol src="assets:omdb/icon_4004_1.png" symbol-height="46"
symbol-width="46"></symbol>
<!-- <caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"-->
<!-- stroke-width="1.0"></caption>-->
</m>
</m>
<!--车道中心线-->
<m v="OMDB_LANE_LINK_LG">
<line stroke="#ecf0f1" width="0.1" dasharray="35,35"/>
<line dasharray="35,35" stroke="#ecf0f1" width="0.1" />
</m>
<!-- 道路边界类型 -->
<m v="OMDB_RDBOUND_BOUNDARYTYPE">
<line stroke="#ffffff" width="0.1"/>
<line stroke="#ffffff" width="0.1" />
</m>
<!-- 车道边界类型 -->
<m v="OMDB_LANE_MARK_BOUNDARYTYPE">
@ -1707,19 +1714,19 @@
<m v="0|1">
<m k="markColor">
<m v="0|1">
<line stroke="#ffffff" use="boundaryType"/>
<line stroke="#ffffff" use="boundaryType" />
</m>
<m v="2">
<line stroke="#eccc68" use="boundaryType"/>
<line stroke="#eccc68" use="boundaryType" />
</m>
<m v="6">
<line stroke="#0000ff" use="boundaryType"/>
<line stroke="#0000ff" use="boundaryType" />
</m>
<m v="7">
<line stroke="#00ff00" use="boundaryType"/>
<line stroke="#00ff00" use="boundaryType" />
</m>
<m v="9">
<line stroke="#8e44ad" use="boundaryType"/>
<line stroke="#8e44ad" use="boundaryType" />
</m>
</m>
</m>
@ -1727,31 +1734,37 @@
<m v="2">
<m k="markColor">
<m v="0|1">
<line stroke="#ffffff" stipple-stroke="#000000" stipple="5" use="boundaryType" dasharray="13,135"/>
<line dasharray="13,135" stipple="5" stipple-stroke="#000000"
stroke="#ffffff" use="boundaryType" />
</m>
<m v="2">
<line stroke="#eccc68" stipple-stroke="#ffffff" stipple="5" use="boundaryType" dasharray="13,135"/>
<line dasharray="13,135" stipple="5" stipple-stroke="#ffffff"
stroke="#eccc68" use="boundaryType" />
</m>
<m v="6">
<line stroke="#0000ff" stipple-stroke="#ffffff" stipple="5" use="boundaryType" dasharray="13,135"/>
<line dasharray="13,135" stipple="5" stipple-stroke="#ffffff"
stroke="#0000ff" use="boundaryType" />
</m>
<m v="7">
<line stroke="#00ff00" stipple-stroke="#ffffff" stipple="5" use="boundaryType" dasharray="13,135"/>
<line dasharray="13,135" stipple="5" stipple-stroke="#ffffff"
stroke="#00ff00" use="boundaryType" />
</m>
<m v="9">
<line stroke="#8e44ad" stipple-stroke="#ffffff" stipple="5" use="boundaryType" dasharray="13,135"/>
<line dasharray="13,135" stipple="5" stipple-stroke="#ffffff"
stroke="#8e44ad" use="boundaryType" />
</m>
</m>
</m>
<!--导流区边线-->
<m v="4">
<line outline="boundary" stroke="#545D6C"></line>
<lineSymbol src="assets:omdb/icon_right.png" repeat-start="0" repeat-gap="0.5"/>
<lineSymbol repeat-gap="0.5" repeat-start="0"
src="assets:omdb/icon_right.png" />
</m>
<!-- &lt;!&ndash;铺设路面边缘&ndash;&gt;-->
<!-- <m v="5">-->
<!-- <line outline="#ffffff" fix="true" src="assets:omdb/icon_close.png" stroke="#ffffffff" use="boundaryType"/>-->
<!-- </m>-->
<!-- &lt;!&ndash;铺设路面边缘&ndash;&gt;-->
<!-- <m v="5">-->
<!-- <line outline="#ffffff" fix="true" src="assets:omdb/icon_close.png" stroke="#ffffffff" use="boundaryType"/>-->
<!-- </m>-->
</m>
</m>
</m>
@ -1760,29 +1773,34 @@
<m v="OMDB_LINK_DIRECT">
<m k="direct">
<m v="2">
<!-- <lineSymbol src="assets:omdb/oneway_right.svg"></lineSymbol>-->
<lineSymbol src="assets:omdb/oneway_right.svg" ></lineSymbol>
<!-- <lineSymbol src="assets:omdb/oneway_right.svg"></lineSymbol>-->
<lineSymbol src="assets:omdb/oneway_right.svg"></lineSymbol>
</m>
<m v="3">
<!-- <lineSymbol src="assets:omdb/oneway_left.svg"></lineSymbol>-->
<!-- <lineSymbol src="assets:omdb/oneway_left.svg"></lineSymbol>-->
<lineSymbol src="assets:omdb/oneway_left.svg"></lineSymbol>
</m>
</m>
</m>
<!--交通灯-->
<m v="OMDB_TRAFFICLIGHT">
<symbol src="assets:omdb/icon_4022_0.svg" repeat="false" symbol-width="46" symbol-height="46" rotate="false"></symbol>
<symbol repeat="false" rotate="false" src="assets:omdb/icon_4022_0.svg"
symbol-height="69" symbol-width="69"></symbol>
</m>
<!--普通交限-->
<m v="OMDB_RESTRICTION">
<m k="angle">
<symbol src="assets:omdb/icon_4006_0.svg" repeat="false" symbol-width="46" symbol-height="46" rotate="false" repeat-start="0" ></symbol>
<symbol repeat="false" repeat-start="0" rotate="false"
src="assets:omdb/icon_4006_0.svg" symbol-height="69" symbol-width="69"></symbol>
</m>
<m k="type" v="angle">
<symbol src="assets:omdb/icon_arrow_right.svg" repeat-start="0" repeat-gap="2000" symbol-percent="45" repeat="false" rotate="true"></symbol>
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true"
src="assets:omdb/icon_arrow_right.svg" symbol-height="76"
symbol-width="76"></symbol>
</m>
<m k="type" v="s_2_e">
<line stroke="#14582c" width="0.1" dasharray="1,1" repeat-gap="3" repeat-start="0"/>
<line dasharray="1,1" repeat-gap="3" repeat-start="0" stroke="#14582c"
width="0.1" />
</m>
</m>
<!-- 道路名 -->

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -1,40 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="140"
height="140" viewBox="0 0 140 140">
<defs>
<style>
.a{fill:none;}.b{fill:#898989;opacity:0;}.c{opacity:0.14;mix-blend-mode:multiply;isolation:isolate;}.d{clip-path:url(#a);}.e{fill:#b2250a;}.f{fill:#ea7626;}.g{fill:#fae8c8;}
</style>
<clipPath id="a">
<rect class="a" width="54.796" height="40.392" />
</clipPath>
</defs>
<g transform="translate(-1333 -1090)">
<g transform="translate(251 665)">
<rect class="b" width="140" height="140" transform="translate(1082 425)" />
<g transform="translate(229.467 -611)">
<g transform="translate(937.713 1086)">
<g transform="translate(0 0)">
<g class="c" transform="translate(0)">
<g transform="translate(0)">
<g class="d">
<path
d="M38.035,31.807l-16.7-13a3.818,3.818,0,0,0-6.163,3.014v3.908h-26.39A4.066,4.066,0,0,0-15.287,29.8V39.844a4.066,4.066,0,0,0,4.066,4.066h26.39v3.908a3.818,3.818,0,0,0,6.163,3.014l16.7-13a3.819,3.819,0,0,0,0-6.027"
transform="translate(15.287 -18)" />
</g>
</g>
</g>
<path class="e"
d="M39.533,29.22H37.54L21.332,41.831a3.819,3.819,0,0,1-6.163-3.014V34.909h-26.39a4.066,4.066,0,0,1-4.066-4.066V20.8a4.066,4.066,0,0,1,4.066-4.066h26.39V12.825a3.818,3.818,0,0,1,6.163-3.014l16.7,13a3.791,3.791,0,0,1,1.448,2.581l.049.005Z"
transform="translate(15.287 -5.889)" />
<path class="f"
d="M38.028,13.807l-16.7-13a3.818,3.818,0,0,0-6.163,3.014V7.733H-11.253A4.066,4.066,0,0,0-15.318,11.8V21.844a4.066,4.066,0,0,0,4.066,4.066H15.162v3.908a3.818,3.818,0,0,0,6.163,3.014l16.7-13a3.819,3.819,0,0,0,0-6.027"
transform="translate(15.318 6.457)" />
</g>
<path class="g"
d="M75.8,20.234a2.381,2.381,0,0,1-1.511-.539L71.346,17.29a2.392,2.392,0,1,1,3.025-3.706l2.948,2.406A2.392,2.392,0,0,1,75.8,20.234"
transform="translate(-35.64 -1.875)" />
</g>
</g>
</g>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="296" height="296" viewBox="0 0 296 296"><defs><style>.a{opacity:0;isolation:isolate;}.b{fill:#545e6c;opacity:0.999;}.c{fill:rgba(255,255,255,0.12);stroke:#f7ad5d;}.d{fill:rgba(255,255,255,0.11);stroke:rgba(255,255,255,0.67);opacity:0.459;}.e{stroke:rgba(0,0,0,0);stroke-miterlimit:10;fill:url(#a);}.f{stroke:none;}.g{fill:none;}</style><linearGradient id="a" x1="0.5" y1="0.267" x2="0.5" y2="0.712" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#ca4916"/><stop offset="1" stop-color="#f7ad5d"/></linearGradient></defs><g transform="translate(-243 -404)"><g transform="translate(1762 -801) rotate(90)"><g class="a" transform="translate(1205 1231)"><rect class="b" width="296" height="296" transform="translate(0 -8)"/></g><g transform="translate(1250 1231)"><g class="c" transform="translate(13 50)"><circle class="f" cx="90" cy="90" r="90"/><circle class="g" cx="90" cy="90" r="89.5"/></g><g class="d" transform="translate(35 72)"><circle class="f" cx="68" cy="68" r="68"/><circle class="g" cx="68" cy="68" r="67.5"/></g><path class="e" d="M18.942,57.189V36.331H6.056A6,6,0,0,1,.535,32.946a5.356,5.356,0,0,1,.753-5.814L21.849,2.2a6.269,6.269,0,0,1,9.537,0L51.947,27.132a5.356,5.356,0,0,1,.753,5.814,6,6,0,0,1-5.521,3.386H34.293V57.1c-2.29-.125-4.628-.189-6.947-.189-2.8,0-5.622.093-8.4.277Z" transform="translate(76.383 -6.188)"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -263,7 +263,6 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
mContext.lifecycleScope.launch(Dispatchers.IO) {
var list = mutableListOf<QsRecordBean>()
val realm = Realm.getDefaultInstance()
Log.e("jingo", "realm hashCOde ${realm.hashCode()}")
realm.executeTransaction {
val objects = realm.where<QsRecordBean>().findAll()
list = realm.copyFromRealm(objects)

View File

@ -89,7 +89,6 @@ public class MyItemizedLayer extends ItemizedLayer {
private boolean activateSelectedItems(MotionEvent event, ActiveItem task) {
int size = this.mItemList.size();
Log.e("jingo", "地图点击 size =" + size);
if (size == 0) {
return false;
} else {

2
vtm

@ -1 +1 @@
Subproject commit c6ba77aa0eb90a84fb19377706eb6792ec4a42b6
Subproject commit 1ee201a41f78f169873848209a3f3bdac36f185a