merge code

This commit is contained in:
qiji4215 2023-05-26 15:32:47 +08:00
commit 591b9cd579
10 changed files with 56 additions and 28 deletions

1
.gitmodules vendored
View File

@ -2,3 +2,4 @@
path = vtm
url = git@github.com:xiaoyan159/vtm.git
branch = master

View File

@ -148,11 +148,6 @@
}
]
},
"4022":{
"table": "OMDB_TRAFFICLIGHT",
"code": 4022,
"name": "交通灯"
},
"5001":{
"table": "OMDB_LANE_LINK_LG",
"code": 5001,

View File

@ -4,11 +4,12 @@ import android.app.Activity
import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.os.PersistableBundle
import android.speech.tts.TextToSpeech
import android.util.Log
import android.view.MotionEvent
import android.view.View
import android.widget.EditText
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
import androidx.annotation.RequiresApi
@ -18,9 +19,7 @@ import androidx.lifecycle.lifecycleScope
import androidx.navigation.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.blankj.utilcode.util.SPStaticUtils
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.navinfo.collect.library.map.NIMapController
import com.navinfo.omqs.Constant
import com.navinfo.omqs.R
@ -29,12 +28,11 @@ import com.navinfo.omqs.databinding.ActivityMainBinding
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.widget.RecycleViewDivider
import com.navinfo.omqs.ui.widget.RecyclerViewSpacesItemDecoration
import com.navinfo.omqs.util.FlowEventBus
import com.navinfo.omqs.util.SpeakMode
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import com.navinfo.omqs.ui.widget.RecyclerViewSpacesItemDecoration
import com.navinfo.omqs.util.SpeakMode
import org.videolan.vlc.Util
import java.math.BigDecimal
import java.math.RoundingMode
@ -202,10 +200,10 @@ class MainActivity : BaseActivity() {
viewModel.liveDataCenterPoint.observe(this) {
binding.mainActivityGeometry.text = "经纬度:${
BigDecimal(it.longitude).setScale(
6,
7,
RoundingMode.HALF_UP
)
},${BigDecimal(it.latitude).setScale(6, RoundingMode.HALF_UP)}"
},${BigDecimal(it.latitude).setScale(7, RoundingMode.HALF_UP)}"
}
lifecycleScope.launch {
@ -218,6 +216,38 @@ class MainActivity : BaseActivity() {
}
}
//根据输入的经纬度跳转坐标
fun jumpPosition() {
val view = this.layoutInflater.inflate(R.layout.dialog_view_edittext, null)
val inputDialog = MaterialAlertDialogBuilder(
this
).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, _ ->
dialog.dismiss()
}
inputDialog.setPositiveButton("确定") { dialog, _ ->
if (editText.text.isNotEmpty()) {
try {
val parts = editText.text.toString().split("[,\\s]".toRegex())
if (parts.size == 2) {
val x = parts[0].toDouble()
val y = parts[0].toDouble()
mapController.animationHandler.animationByLatLon(y, x)
}else{
Toast.makeText(this, "输入格式不正确", Toast.LENGTH_SHORT).show()
}
} catch (e: Exception) {
Toast.makeText(this, "输入格式不正确", Toast.LENGTH_SHORT).show()
}
}
dialog.dismiss()
}
inputDialog.show()
}
override fun onStart() {
super.onStart()

View File

@ -102,13 +102,7 @@ class MainViewModel @Inject constructor(
mapController.mMapView.vtmMap.events.bind(Map.UpdateListener { e, mapPosition ->
when (e) {
Map.SCALE_EVENT, Map.MOVE_EVENT, Map.ROTATE_EVENT ->
if (liveDataCenterPoint.value == null
|| liveDataCenterPoint.value!!.x != mapPosition.x
|| liveDataCenterPoint.value!!.y != mapPosition.y
) {
liveDataCenterPoint.value = mapPosition
}
liveDataCenterPoint.value = mapPosition
}
})

View File

@ -24,7 +24,7 @@ class SignAdapter(private var itemListener: ((Int, SignBean) -> Unit?)? = null)
val bd = holder.viewBinding as AdapterSignBinding
val item = data[position]
if (item.iconId != 0)
bd.signMainIcon.background = holder.viewBinding.root.context.getDrawable(item.iconId)
bd.signMainIconBg.setImageResource(item.iconId)
bd.signMainIcon.text = item.iconText
bd.signBottomText.text = item.name
bd.signBottomRightText.text = item.bottomRightText

View File

@ -126,7 +126,7 @@ class EvaluationResultViewModel @Inject constructor(
geoPoint?.let {
liveDataQsRecordBean.value!!.geometry = GeometryTools.createGeometry(it).toText()
mapController.markerHandle.addMarker(geoPoint, markerTitle)
mapController.animationHandler.animationByLonLat(
mapController.animationHandler.animationByLatLon(
geoPoint.latitude, geoPoint.longitude
)
viewModelScope.launch {
@ -149,7 +149,7 @@ class EvaluationResultViewModel @Inject constructor(
}
val point = GeometryTools.createGeoPoint(bean.geometry)
this.geometry = GeometryTools.createGeometry(point).toText()
mapController.animationHandler.animationByLonLat(point.latitude, point.longitude)
mapController.animationHandler.animationByLatLon(point.latitude, point.longitude)
mapController.markerHandle.addMarker(point, markerTitle)
}
}

View File

@ -75,7 +75,8 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/main_activity_sign_recyclerview"
android:layout_width="wrap_content"
android:layout_height="350dp"
android:layout_height="wrap_content"
android:maxHeight="350dp"
android:layout_marginTop="10dp"
app:layout_constraintLeft_toLeftOf="@id/main_activity_person_center"
app:layout_constraintTop_toBottomOf="@id/main_activity_person_center" />
@ -177,6 +178,7 @@
android:paddingLeft="9dp"
android:text="经纬度:116.99388424,38.8403844"
android:textSize="10sp"
android:onClick="@{()->mainActivity.jumpPosition()}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@id/main_activity_middle_fragment" />

View File

@ -6,13 +6,19 @@
android:background="@drawable/bg_sign"
tools:context="com.navinfo.omqs.ui.activity.map.SignAdapter">
<ImageView
android:id="@+id/sign_main_icon_bg"
android:layout_marginLeft="19dp"
android:layout_marginTop="4dp"
android:layout_width="40dp"
android:layout_height="40dp"/>
<TextView
android:id="@+id/sign_main_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginLeft="19dp"
android:layout_marginTop="4dp"
android:background="@drawable/icon_speed_limit"
android:gravity="center"
android:text="80"
android:textColor="#2F2F2F"

View File

@ -1878,6 +1878,7 @@
<!-- <line stroke="#14582c" width="0.1"/>-->
<!-- <caption k="angle" fill="#000000" priority="0" size="14" stroke="#ffffff"-->
<!-- stroke-width="1.0"></caption>-->
</m>
</m>
</rendertheme>

View File

@ -1,6 +1,5 @@
package com.navinfo.collect.library.map.handler
import android.content.Context
import androidx.appcompat.app.AppCompatActivity
import com.navinfo.collect.library.map.NIMapView
import org.oscim.core.BoundingBox
@ -32,7 +31,7 @@ open class AnimationHandler(context: AppCompatActivity, mapView: NIMapView) :
* latitude longitude经纬度
**
*/
fun animationByLonLat(latitude: Double, longitude: Double, time: Long = 200) {
fun animationByLatLon(latitude: Double, longitude: Double, time: Long = 200) {
mMapView.vtmMap.animator().animateTo(time, GeoPoint(latitude, longitude))
}