merge code
This commit is contained in:
commit
591b9cd579
1
.gitmodules
vendored
1
.gitmodules
vendored
@ -2,3 +2,4 @@
|
|||||||
path = vtm
|
path = vtm
|
||||||
url = git@github.com:xiaoyan159/vtm.git
|
url = git@github.com:xiaoyan159/vtm.git
|
||||||
branch = master
|
branch = master
|
||||||
|
|
||||||
|
@ -148,11 +148,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"4022":{
|
|
||||||
"table": "OMDB_TRAFFICLIGHT",
|
|
||||||
"code": 4022,
|
|
||||||
"name": "交通灯"
|
|
||||||
},
|
|
||||||
"5001":{
|
"5001":{
|
||||||
"table": "OMDB_LANE_LINK_LG",
|
"table": "OMDB_LANE_LINK_LG",
|
||||||
"code": 5001,
|
"code": 5001,
|
||||||
|
@ -4,11 +4,12 @@ import android.app.Activity
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.PersistableBundle
|
|
||||||
import android.speech.tts.TextToSpeech
|
import android.speech.tts.TextToSpeech
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.widget.EditText
|
||||||
|
import android.widget.Toast
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
@ -18,9 +19,7 @@ import androidx.lifecycle.lifecycleScope
|
|||||||
import androidx.navigation.findNavController
|
import androidx.navigation.findNavController
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.blankj.utilcode.util.SPStaticUtils
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.google.gson.Gson
|
|
||||||
import com.google.gson.reflect.TypeToken
|
|
||||||
import com.navinfo.collect.library.map.NIMapController
|
import com.navinfo.collect.library.map.NIMapController
|
||||||
import com.navinfo.omqs.Constant
|
import com.navinfo.omqs.Constant
|
||||||
import com.navinfo.omqs.R
|
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.http.offlinemapdownload.OfflineMapDownloadManager
|
||||||
import com.navinfo.omqs.tools.LayerConfigUtils
|
import com.navinfo.omqs.tools.LayerConfigUtils
|
||||||
import com.navinfo.omqs.ui.activity.BaseActivity
|
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.FlowEventBus
|
||||||
|
import com.navinfo.omqs.util.SpeakMode
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import com.navinfo.omqs.ui.widget.RecyclerViewSpacesItemDecoration
|
|
||||||
import com.navinfo.omqs.util.SpeakMode
|
|
||||||
import org.videolan.vlc.Util
|
import org.videolan.vlc.Util
|
||||||
import java.math.BigDecimal
|
import java.math.BigDecimal
|
||||||
import java.math.RoundingMode
|
import java.math.RoundingMode
|
||||||
@ -202,10 +200,10 @@ class MainActivity : BaseActivity() {
|
|||||||
viewModel.liveDataCenterPoint.observe(this) {
|
viewModel.liveDataCenterPoint.observe(this) {
|
||||||
binding.mainActivityGeometry.text = "经纬度:${
|
binding.mainActivityGeometry.text = "经纬度:${
|
||||||
BigDecimal(it.longitude).setScale(
|
BigDecimal(it.longitude).setScale(
|
||||||
6,
|
7,
|
||||||
RoundingMode.HALF_UP
|
RoundingMode.HALF_UP
|
||||||
)
|
)
|
||||||
},${BigDecimal(it.latitude).setScale(6, RoundingMode.HALF_UP)}"
|
},${BigDecimal(it.latitude).setScale(7, RoundingMode.HALF_UP)}"
|
||||||
}
|
}
|
||||||
|
|
||||||
lifecycleScope.launch {
|
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() {
|
override fun onStart() {
|
||||||
super.onStart()
|
super.onStart()
|
||||||
|
|
||||||
|
@ -102,13 +102,7 @@ class MainViewModel @Inject constructor(
|
|||||||
mapController.mMapView.vtmMap.events.bind(Map.UpdateListener { e, mapPosition ->
|
mapController.mMapView.vtmMap.events.bind(Map.UpdateListener { e, mapPosition ->
|
||||||
when (e) {
|
when (e) {
|
||||||
Map.SCALE_EVENT, Map.MOVE_EVENT, Map.ROTATE_EVENT ->
|
Map.SCALE_EVENT, Map.MOVE_EVENT, Map.ROTATE_EVENT ->
|
||||||
if (liveDataCenterPoint.value == null
|
liveDataCenterPoint.value = mapPosition
|
||||||
|| liveDataCenterPoint.value!!.x != mapPosition.x
|
|
||||||
|| liveDataCenterPoint.value!!.y != mapPosition.y
|
|
||||||
) {
|
|
||||||
liveDataCenterPoint.value = mapPosition
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ class SignAdapter(private var itemListener: ((Int, SignBean) -> Unit?)? = null)
|
|||||||
val bd = holder.viewBinding as AdapterSignBinding
|
val bd = holder.viewBinding as AdapterSignBinding
|
||||||
val item = data[position]
|
val item = data[position]
|
||||||
if (item.iconId != 0)
|
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.signMainIcon.text = item.iconText
|
||||||
bd.signBottomText.text = item.name
|
bd.signBottomText.text = item.name
|
||||||
bd.signBottomRightText.text = item.bottomRightText
|
bd.signBottomRightText.text = item.bottomRightText
|
||||||
|
@ -126,7 +126,7 @@ class EvaluationResultViewModel @Inject constructor(
|
|||||||
geoPoint?.let {
|
geoPoint?.let {
|
||||||
liveDataQsRecordBean.value!!.geometry = GeometryTools.createGeometry(it).toText()
|
liveDataQsRecordBean.value!!.geometry = GeometryTools.createGeometry(it).toText()
|
||||||
mapController.markerHandle.addMarker(geoPoint, markerTitle)
|
mapController.markerHandle.addMarker(geoPoint, markerTitle)
|
||||||
mapController.animationHandler.animationByLonLat(
|
mapController.animationHandler.animationByLatLon(
|
||||||
geoPoint.latitude, geoPoint.longitude
|
geoPoint.latitude, geoPoint.longitude
|
||||||
)
|
)
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
@ -149,7 +149,7 @@ class EvaluationResultViewModel @Inject constructor(
|
|||||||
}
|
}
|
||||||
val point = GeometryTools.createGeoPoint(bean.geometry)
|
val point = GeometryTools.createGeoPoint(bean.geometry)
|
||||||
this.geometry = GeometryTools.createGeometry(point).toText()
|
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)
|
mapController.markerHandle.addMarker(point, markerTitle)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,7 +75,8 @@
|
|||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/main_activity_sign_recyclerview"
|
android:id="@+id/main_activity_sign_recyclerview"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="350dp"
|
android:layout_height="wrap_content"
|
||||||
|
android:maxHeight="350dp"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
app:layout_constraintLeft_toLeftOf="@id/main_activity_person_center"
|
app:layout_constraintLeft_toLeftOf="@id/main_activity_person_center"
|
||||||
app:layout_constraintTop_toBottomOf="@id/main_activity_person_center" />
|
app:layout_constraintTop_toBottomOf="@id/main_activity_person_center" />
|
||||||
@ -177,6 +178,7 @@
|
|||||||
android:paddingLeft="9dp"
|
android:paddingLeft="9dp"
|
||||||
android:text="经纬度:116.99388424,38.8403844"
|
android:text="经纬度:116.99388424,38.8403844"
|
||||||
android:textSize="10sp"
|
android:textSize="10sp"
|
||||||
|
android:onClick="@{()->mainActivity.jumpPosition()}"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintRight_toLeftOf="@id/main_activity_middle_fragment" />
|
app:layout_constraintRight_toLeftOf="@id/main_activity_middle_fragment" />
|
||||||
|
|
||||||
|
@ -6,13 +6,19 @@
|
|||||||
android:background="@drawable/bg_sign"
|
android:background="@drawable/bg_sign"
|
||||||
tools:context="com.navinfo.omqs.ui.activity.map.SignAdapter">
|
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
|
<TextView
|
||||||
android:id="@+id/sign_main_icon"
|
android:id="@+id/sign_main_icon"
|
||||||
android:layout_width="40dp"
|
android:layout_width="40dp"
|
||||||
android:layout_height="40dp"
|
android:layout_height="40dp"
|
||||||
android:layout_marginLeft="19dp"
|
android:layout_marginLeft="19dp"
|
||||||
android:layout_marginTop="4dp"
|
android:layout_marginTop="4dp"
|
||||||
android:background="@drawable/icon_speed_limit"
|
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="80"
|
android:text="80"
|
||||||
android:textColor="#2F2F2F"
|
android:textColor="#2F2F2F"
|
||||||
|
@ -1878,6 +1878,7 @@
|
|||||||
<!-- <line stroke="#14582c" width="0.1"/>-->
|
<!-- <line stroke="#14582c" width="0.1"/>-->
|
||||||
<!-- <caption k="angle" fill="#000000" priority="0" size="14" stroke="#ffffff"-->
|
<!-- <caption k="angle" fill="#000000" priority="0" size="14" stroke="#ffffff"-->
|
||||||
<!-- stroke-width="1.0"></caption>-->
|
<!-- stroke-width="1.0"></caption>-->
|
||||||
|
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
</rendertheme>
|
</rendertheme>
|
@ -1,6 +1,5 @@
|
|||||||
package com.navinfo.collect.library.map.handler
|
package com.navinfo.collect.library.map.handler
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import com.navinfo.collect.library.map.NIMapView
|
import com.navinfo.collect.library.map.NIMapView
|
||||||
import org.oscim.core.BoundingBox
|
import org.oscim.core.BoundingBox
|
||||||
@ -32,7 +31,7 @@ open class AnimationHandler(context: AppCompatActivity, mapView: NIMapView) :
|
|||||||
* latitude: ,longitude:经纬度
|
* 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))
|
mMapView.vtmMap.animator().animateTo(time, GeoPoint(latitude, longitude))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user