增加10S自动定位及指北模式
This commit is contained in:
@@ -103,6 +103,11 @@ class Constant {
|
|||||||
*/
|
*/
|
||||||
var AUTO_LOCATION = false
|
var AUTO_LOCATION = false
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 地图视角是否锁定
|
||||||
|
*/
|
||||||
|
var MapRotateEnable = false
|
||||||
|
|
||||||
var IS_VIDEO_SPEED by kotlin.properties.Delegates.notNull<Boolean>()
|
var IS_VIDEO_SPEED by kotlin.properties.Delegates.notNull<Boolean>()
|
||||||
|
|
||||||
const val message_status_late = "预约,待发送"
|
const val message_status_late = "预约,待发送"
|
||||||
|
|||||||
@@ -325,12 +325,18 @@ class MainActivity : BaseActivity() {
|
|||||||
7, RoundingMode.HALF_UP
|
7, RoundingMode.HALF_UP
|
||||||
)
|
)
|
||||||
},${BigDecimal(it.latitude).setScale(7, RoundingMode.HALF_UP)}"
|
},${BigDecimal(it.latitude).setScale(7, RoundingMode.HALF_UP)}"
|
||||||
|
viewModel.startAutoLocationTimer()
|
||||||
|
binding.mainActivityLocation.setImageResource(R.drawable.icon_location)
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Log.e("qj", "异常 $e")
|
Log.e("qj", "异常 $e")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
viewModel.liveDataAutoLocation.observe(this){
|
||||||
|
if(it==true){
|
||||||
|
onClickLocation()
|
||||||
|
}
|
||||||
|
}
|
||||||
viewModel.liveDataSignMoreInfo.observe(this) {
|
viewModel.liveDataSignMoreInfo.observe(this) {
|
||||||
val fragment =
|
val fragment =
|
||||||
supportFragmentManager.findFragmentById(R.id.main_activity_sign_more_info_fragment)
|
supportFragmentManager.findFragmentById(R.id.main_activity_sign_more_info_fragment)
|
||||||
@@ -1129,6 +1135,14 @@ class MainActivity : BaseActivity() {
|
|||||||
rightController.navigate(R.id.NoteFragment)
|
rightController.navigate(R.id.NoteFragment)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 点击定位按钮
|
||||||
|
*/
|
||||||
|
fun onClickLocation() {
|
||||||
|
binding.mainActivityLocation.setImageResource(R.drawable.icon_location_north)
|
||||||
|
viewModel.onClickLocationButton()
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增评测link
|
* 新增评测link
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ import io.realm.RealmSet
|
|||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
|
||||||
import kotlinx.coroutines.flow.collectLatest
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
import kotlinx.coroutines.flow.flow
|
import kotlinx.coroutines.flow.flow
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@@ -132,6 +131,11 @@ class MainViewModel @Inject constructor(
|
|||||||
*/
|
*/
|
||||||
val liveDataCenterPoint = MutableLiveData<MapPosition>()
|
val liveDataCenterPoint = MutableLiveData<MapPosition>()
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否自动定位
|
||||||
|
*/
|
||||||
|
val liveDataAutoLocation = MutableLiveData<Boolean>()
|
||||||
|
|
||||||
// var testPoint = GeoPoint(0, 0)
|
// var testPoint = GeoPoint(0, 0)
|
||||||
|
|
||||||
//uuid标识,用于记录轨迹组
|
//uuid标识,用于记录轨迹组
|
||||||
@@ -209,6 +213,11 @@ class MainViewModel @Inject constructor(
|
|||||||
|
|
||||||
private var timer: Timer? = null
|
private var timer: Timer? = null
|
||||||
|
|
||||||
|
//自动定位
|
||||||
|
private var autoLocationTimer: Timer? = null
|
||||||
|
|
||||||
|
private var disAutoLocationTime: Long = 10000
|
||||||
|
|
||||||
private var disTime: Long = 1000
|
private var disTime: Long = 1000
|
||||||
|
|
||||||
private var currentMapZoomLevel: Int = 0
|
private var currentMapZoomLevel: Int = 0
|
||||||
@@ -227,6 +236,7 @@ class MainViewModel @Inject constructor(
|
|||||||
when (e) {
|
when (e) {
|
||||||
Map.SCALE_EVENT, Map.MOVE_EVENT, Map.ROTATE_EVENT -> liveDataCenterPoint.value =
|
Map.SCALE_EVENT, Map.MOVE_EVENT, Map.ROTATE_EVENT -> liveDataCenterPoint.value =
|
||||||
mapPosition
|
mapPosition
|
||||||
|
//Map.CLEAR_EVENT->startAutoLocationTimer()
|
||||||
}
|
}
|
||||||
|
|
||||||
currentMapZoomLevel = mapController.mMapView.vtmMap.mapPosition.zoomLevel
|
currentMapZoomLevel = mapController.mMapView.vtmMap.mapPosition.zoomLevel
|
||||||
@@ -652,12 +662,6 @@ class MainViewModel @Inject constructor(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
withContext(Dispatchers.Main) {
|
|
||||||
if (Constant.AUTO_LOCATION) {
|
|
||||||
mapController.mMapView.vtmMap.animator()
|
|
||||||
.animateTo(GeoPoint(location.latitude, location.longitude))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//显示轨迹图层
|
//显示轨迹图层
|
||||||
@@ -674,7 +678,7 @@ class MainViewModel @Inject constructor(
|
|||||||
point.longitude,
|
point.longitude,
|
||||||
point.latitude
|
point.latitude
|
||||||
),
|
),
|
||||||
buffer = 2.0, catchAll = false,
|
buffer = 2.4, catchAll = false,
|
||||||
)
|
)
|
||||||
//增加道路线过滤原则
|
//增加道路线过滤原则
|
||||||
val filterResult = itemList.filter {
|
val filterResult = itemList.filter {
|
||||||
@@ -887,6 +891,9 @@ class MainViewModel @Inject constructor(
|
|||||||
* 点击我的位置,回到我的位置
|
* 点击我的位置,回到我的位置
|
||||||
*/
|
*/
|
||||||
fun onClickLocationButton() {
|
fun onClickLocationButton() {
|
||||||
|
val mapPosition: MapPosition = mapController.mMapView.vtmMap.getMapPosition()
|
||||||
|
mapPosition.setBearing(0f) // 锁定角度,自动将地图旋转到正北方向
|
||||||
|
mapController.mMapView.vtmMap.setMapPosition(mapPosition)
|
||||||
mapController.locationLayerHandler.animateToCurrentPosition()
|
mapController.locationLayerHandler.animateToCurrentPosition()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1390,6 +1397,27 @@ class MainViewModel @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开启自动定位
|
||||||
|
*/
|
||||||
|
fun startAutoLocationTimer(){
|
||||||
|
if (autoLocationTimer != null) {
|
||||||
|
cancelAutoLocation()
|
||||||
|
}
|
||||||
|
autoLocationTimer = fixedRateTimer("", false, disAutoLocationTime, disAutoLocationTime) {
|
||||||
|
liveDataAutoLocation.postValue(true)
|
||||||
|
Log.e("qj","自动定位开始执行")
|
||||||
|
startAutoLocationTimer()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 结束自动定位
|
||||||
|
*/
|
||||||
|
fun cancelAutoLocation() {
|
||||||
|
autoLocationTimer?.cancel()
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开启测量工具
|
* 开启测量工具
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
|
import androidx.core.view.forEach
|
||||||
|
import androidx.fragment.app.activityViewModels
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.blankj.utilcode.util.ToastUtils
|
import com.blankj.utilcode.util.ToastUtils
|
||||||
@@ -26,24 +28,28 @@ import com.navinfo.omqs.databinding.FragmentPersonalCenterBinding
|
|||||||
import com.navinfo.omqs.db.ImportOMDBHelper
|
import com.navinfo.omqs.db.ImportOMDBHelper
|
||||||
import com.navinfo.omqs.hilt.ImportOMDBHiltFactory
|
import com.navinfo.omqs.hilt.ImportOMDBHiltFactory
|
||||||
import com.navinfo.omqs.tools.CoroutineUtils
|
import com.navinfo.omqs.tools.CoroutineUtils
|
||||||
import com.navinfo.omqs.ui.fragment.BaseFragment
|
import com.navinfo.omqs.ui.activity.map.MainViewModel
|
||||||
import com.navinfo.omqs.ui.activity.scan.QrCodeActivity
|
import com.navinfo.omqs.ui.activity.scan.QrCodeActivity
|
||||||
|
import com.navinfo.omqs.ui.fragment.BaseFragment
|
||||||
import com.permissionx.guolindev.PermissionX
|
import com.permissionx.guolindev.PermissionX
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import org.oscim.core.GeoPoint
|
import org.oscim.core.GeoPoint
|
||||||
|
import org.oscim.core.MapPosition
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 个人中心
|
* 个人中心
|
||||||
*/
|
*/
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?)? = null) : BaseFragment(),
|
class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?)? = null) :
|
||||||
|
BaseFragment(),
|
||||||
FSAFActivityCallbacks {
|
FSAFActivityCallbacks {
|
||||||
|
|
||||||
private var _binding: FragmentPersonalCenterBinding? = null
|
private var _binding: FragmentPersonalCenterBinding? = null
|
||||||
private val binding get() = _binding!!
|
private val binding get() = _binding!!
|
||||||
private val fileChooser by lazy { FileChooser(requireContext()) }
|
private val fileChooser by lazy { FileChooser(requireContext()) }
|
||||||
private val viewModel by lazy { viewModels<PersonalCenterViewModel>().value }
|
private val viewModel by lazy { viewModels<PersonalCenterViewModel>().value }
|
||||||
|
private val viewMainModel by activityViewModels<MainViewModel>()
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var importOMDBHiltFactory: ImportOMDBHiltFactory
|
lateinit var importOMDBHiltFactory: ImportOMDBHiltFactory
|
||||||
@@ -66,6 +72,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
|||||||
when (it.itemId) {
|
when (it.itemId) {
|
||||||
R.id.personal_center_menu_offline_map ->
|
R.id.personal_center_menu_offline_map ->
|
||||||
findNavController().navigate(R.id.OfflineMapFragment)
|
findNavController().navigate(R.id.OfflineMapFragment)
|
||||||
|
|
||||||
R.id.personal_center_menu_obtain_data -> { // 生成数据,根据sqlite文件生成对应的zip文件
|
R.id.personal_center_menu_obtain_data -> { // 生成数据,根据sqlite文件生成对应的zip文件
|
||||||
fileChooser.openChooseFileDialog(object : FileChooserCallback() {
|
fileChooser.openChooseFileDialog(object : FileChooserCallback() {
|
||||||
override fun onCancel(reason: String) {
|
override fun onCancel(reason: String) {
|
||||||
@@ -90,6 +97,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.personal_center_menu_import_data -> { // 导入zip数据
|
R.id.personal_center_menu_import_data -> { // 导入zip数据
|
||||||
fileChooser.openChooseFileDialog(object : FileChooserCallback() {
|
fileChooser.openChooseFileDialog(object : FileChooserCallback() {
|
||||||
override fun onCancel(reason: String) {
|
override fun onCancel(reason: String) {
|
||||||
@@ -106,6 +114,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.personal_center_menu_import_yuan_data -> {
|
R.id.personal_center_menu_import_yuan_data -> {
|
||||||
// 用户选中导入数据,打开文件选择器,用户选择导入的数据文件目录
|
// 用户选中导入数据,打开文件选择器,用户选择导入的数据文件目录
|
||||||
fileChooser.openChooseFileDialog(object : FileChooserCallback() {
|
fileChooser.openChooseFileDialog(object : FileChooserCallback() {
|
||||||
@@ -117,49 +126,59 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.personal_center_menu_open_auto_location -> {
|
R.id.personal_center_menu_open_auto_location -> {
|
||||||
Constant.AUTO_LOCATION = true
|
Constant.AUTO_LOCATION = !Constant.AUTO_LOCATION
|
||||||
|
if (Constant.AUTO_LOCATION) {
|
||||||
|
it.title = "关闭自动定位"
|
||||||
|
viewMainModel.startAutoLocationTimer()
|
||||||
|
} else {
|
||||||
|
it.title = "开启10S自动定位"
|
||||||
|
viewMainModel.cancelAutoLocation()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
R.id.personal_center_menu_close_auto_location -> {
|
|
||||||
Constant.AUTO_LOCATION = false
|
R.id.personal_center_menu_rotate_over_look -> {
|
||||||
|
niMapController.mMapView.vtmMap.eventLayer.enableTilt(Constant.MapRotateEnable)
|
||||||
|
niMapController.mMapView.vtmMap.eventLayer.enableRotation(Constant.MapRotateEnable)
|
||||||
|
Constant.MapRotateEnable = !Constant.MapRotateEnable
|
||||||
|
if (Constant.MapRotateEnable) {
|
||||||
|
val mapPosition: MapPosition =
|
||||||
|
niMapController.mMapView.vtmMap.getMapPosition()
|
||||||
|
mapPosition.setBearing(0f) // 锁定角度,自动将地图旋转到正北方向
|
||||||
|
niMapController.mMapView.vtmMap.setMapPosition(mapPosition)
|
||||||
|
it.title = "开启地图旋转及视角"
|
||||||
|
} else {
|
||||||
|
it.title = "锁定地图旋转及视角"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.personal_center_menu_test -> {
|
R.id.personal_center_menu_test -> {
|
||||||
viewModel.readRealmData()
|
viewModel.readRealmData()
|
||||||
//116.25017070328308 40.061730653134696
|
//116.25017070328308 40.061730653134696
|
||||||
// 定位到指定位置
|
// 定位到指定位置
|
||||||
niMapController.mMapView.vtmMap.animator()
|
niMapController.mMapView.vtmMap.animator()
|
||||||
// .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 ))
|
// .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 ))
|
||||||
.animateTo(GeoPoint(40.51850916836801,115.78801387178642))
|
.animateTo(GeoPoint(40.51850916836801, 115.78801387178642))
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.personal_center_menu_open_all_layer -> {
|
R.id.personal_center_menu_open_all_layer -> {
|
||||||
MapParamUtils.setDataLayerEnum(DataLayerEnum.SHOW_ALL_LAYERS)
|
MapParamUtils.setDataLayerEnum(DataLayerEnum.SHOW_ALL_LAYERS)
|
||||||
niMapController.layerManagerHandler.updateOMDBVectorTileLayer()
|
niMapController.layerManagerHandler.updateOMDBVectorTileLayer()
|
||||||
viewModel.realmOperateHelper.updateRealmDefaultInstance()
|
viewModel.realmOperateHelper.updateRealmDefaultInstance()
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.personal_center_menu_close_hide_layer -> {
|
R.id.personal_center_menu_close_hide_layer -> {
|
||||||
MapParamUtils.setDataLayerEnum(DataLayerEnum.ONLY_ENABLE_LAYERS)
|
MapParamUtils.setDataLayerEnum(DataLayerEnum.ONLY_ENABLE_LAYERS)
|
||||||
niMapController.layerManagerHandler.updateOMDBVectorTileLayer()
|
niMapController.layerManagerHandler.updateOMDBVectorTileLayer()
|
||||||
viewModel.realmOperateHelper.updateRealmDefaultInstance()
|
viewModel.realmOperateHelper.updateRealmDefaultInstance()
|
||||||
}
|
}
|
||||||
// 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_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_scan_qr_code -> {
|
R.id.personal_center_menu_scan_qr_code -> {
|
||||||
//跳转二维码扫描界面
|
//跳转二维码扫描界面
|
||||||
checkPermission()
|
checkPermission()
|
||||||
}
|
}
|
||||||
|
|
||||||
R.id.personal_center_menu_scan_indoor_data -> {
|
R.id.personal_center_menu_scan_indoor_data -> {
|
||||||
indoorDataListener?.invoke(true)
|
indoorDataListener?.invoke(true)
|
||||||
}
|
}
|
||||||
@@ -171,6 +190,24 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
|||||||
ToastUtils.showShort(it)
|
ToastUtils.showShort(it)
|
||||||
}
|
}
|
||||||
fileChooser.setCallbacks(this@PersonalCenterFragment)
|
fileChooser.setCallbacks(this@PersonalCenterFragment)
|
||||||
|
binding.root.menu.forEach {
|
||||||
|
when (it.itemId) {
|
||||||
|
R.id.personal_center_menu_open_auto_location -> {
|
||||||
|
if (Constant.AUTO_LOCATION) {
|
||||||
|
it.title = "关闭自动定位"
|
||||||
|
} else {
|
||||||
|
it.title = "开启10S自动定位"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
R.id.personal_center_menu_rotate_over_look -> {
|
||||||
|
if (Constant.MapRotateEnable) {
|
||||||
|
it.title = "开启地图旋转及视角"
|
||||||
|
} else {
|
||||||
|
it.title = "锁定地图旋转及视角"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun intentTOQRCode() {
|
private fun intentTOQRCode() {
|
||||||
@@ -198,7 +235,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
|||||||
.request { allGranted, grantedList, deniedList ->
|
.request { allGranted, grantedList, deniedList ->
|
||||||
if (allGranted) {
|
if (allGranted) {
|
||||||
//所有权限已经授权
|
//所有权限已经授权
|
||||||
Toast.makeText(context,"授权成功",Toast.LENGTH_LONG).show()
|
Toast.makeText(context, "授权成功", Toast.LENGTH_LONG).show()
|
||||||
intentTOQRCode()
|
intentTOQRCode()
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(context, "拒绝权限: $deniedList", Toast.LENGTH_LONG).show()
|
Toast.makeText(context, "拒绝权限: $deniedList", Toast.LENGTH_LONG).show()
|
||||||
|
|||||||
BIN
app/src/main/res/drawable-xxhdpi/icon_location_north.png
Normal file
BIN
app/src/main/res/drawable-xxhdpi/icon_location_north.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
BIN
app/src/main/res/drawable-xxhdpi/icon_location_reset.png
Normal file
BIN
app/src/main/res/drawable-xxhdpi/icon_location_reset.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.6 KiB |
@@ -284,8 +284,8 @@
|
|||||||
android:id="@+id/main_activity_location"
|
android:id="@+id/main_activity_location"
|
||||||
style="@style/zoom_btns_style"
|
style="@style/zoom_btns_style"
|
||||||
android:layout_marginBottom="12dp"
|
android:layout_marginBottom="12dp"
|
||||||
android:onClick="@{()->viewModel.onClickLocationButton()}"
|
android:onClick="@{()->mainActivity.onClickLocation()}"
|
||||||
android:src="@drawable/icon_location"
|
android:src="@drawable/icon_location_north"
|
||||||
app:layout_constraintBottom_toTopOf="@id/main_activity_map_update"
|
app:layout_constraintBottom_toTopOf="@id/main_activity_map_update"
|
||||||
app:layout_constraintRight_toRightOf="@id/main_activity_map_update" />
|
app:layout_constraintRight_toRightOf="@id/main_activity_map_update" />
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
android:layout_marginRight="5dp"
|
android:layout_marginRight="5dp"
|
||||||
android:background="@color/transparent"
|
android:background="@color/transparent"
|
||||||
android:src="@drawable/icon_delete"
|
android:src="@drawable/icon_delete"
|
||||||
app:layout_constraintRight_toLeftOf="@id/note_bar_cancel"
|
app:layout_constraintRight_toLeftOf="@id/note_bar_save"
|
||||||
app:layout_constraintTop_toTopOf="@id/note_bar_save" />
|
app:layout_constraintTop_toTopOf="@id/note_bar_save" />
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
<androidx.core.widget.NestedScrollView
|
||||||
|
|||||||
@@ -36,26 +36,24 @@
|
|||||||
android:visible="false"
|
android:visible="false"
|
||||||
android:icon="@drawable/ic_baseline_sim_card_download_24"
|
android:icon="@drawable/ic_baseline_sim_card_download_24"
|
||||||
android:title="备份数据" />
|
android:title="备份数据" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/personal_center_menu_open_auto_location"
|
||||||
|
android:icon="@drawable/baseline_person_24"
|
||||||
|
android:visible="true"
|
||||||
|
android:title="开启10S自动定位" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/personal_center_menu_rotate_over_look"
|
||||||
|
android:icon="@drawable/baseline_person_24"
|
||||||
|
android:visible="true"
|
||||||
|
android:title="锁定地图旋转及视角" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/personal_center_menu_version"
|
android:id="@+id/personal_center_menu_version"
|
||||||
android:icon="@drawable/ic_baseline_layers_24"
|
android:icon="@drawable/ic_baseline_layers_24"
|
||||||
android:title="版本:ONE_23QE4_V1.5.0_20230904_A" />
|
android:title="版本:23QE4_V1.5.0_20230904_A" />
|
||||||
</group>
|
</group>
|
||||||
<group android:checkableBehavior="single">
|
<group android:checkableBehavior="single">
|
||||||
<item android:title="小标题">
|
<item android:title="小标题">
|
||||||
<menu>
|
<menu>
|
||||||
<item
|
|
||||||
android:id="@+id/personal_center_menu_open_auto_location"
|
|
||||||
android:icon="@drawable/baseline_person_24"
|
|
||||||
android:visible="true"
|
|
||||||
android:title="开启自动定位" />
|
|
||||||
|
|
||||||
<item
|
|
||||||
android:id="@+id/personal_center_menu_close_auto_location"
|
|
||||||
android:icon="@drawable/baseline_person_24"
|
|
||||||
android:visible="true"
|
|
||||||
android:title="关闭自动定位" />
|
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/personal_center_menu_open_all_layer"
|
android:id="@+id/personal_center_menu_open_all_layer"
|
||||||
android:icon="@drawable/baseline_person_24"
|
android:icon="@drawable/baseline_person_24"
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class LineHandler(context: AppCompatActivity, mapView: NIMapView) : BaseHandler(
|
|||||||
//高亮线绘制线 样式
|
//高亮线绘制线 样式
|
||||||
val defaultLineStyle = Style.builder()
|
val defaultLineStyle = Style.builder()
|
||||||
.stippleColor(context.resources.getColor(R.color.draw_line_blue2_color))
|
.stippleColor(context.resources.getColor(R.color.draw_line_blue2_color))
|
||||||
.strokeWidth(10f)
|
.strokeWidth(5f)
|
||||||
.fillColor(context.resources.getColor(R.color.teal_200))
|
.fillColor(context.resources.getColor(R.color.teal_200))
|
||||||
.fillAlpha(0.5f)
|
.fillAlpha(0.5f)
|
||||||
.strokeColor(context.resources.getColor(R.color.teal_200))
|
.strokeColor(context.resources.getColor(R.color.teal_200))
|
||||||
|
|||||||
Reference in New Issue
Block a user