Merge branch 'master' of gitlab.navinfo.com:CollectVehicle/OneMapQS
Conflicts: app/src/main/java/com/navinfo/omqs/http/taskupload/TaskUploadScope.kt
1
app/.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
/build
|
/build
|
||||||
|
/release
|
@ -3,7 +3,6 @@ plugins {
|
|||||||
id 'org.jetbrains.kotlin.android'
|
id 'org.jetbrains.kotlin.android'
|
||||||
id 'kotlin-kapt'
|
id 'kotlin-kapt'
|
||||||
id 'com.google.dagger.hilt.android'
|
id 'com.google.dagger.hilt.android'
|
||||||
id 'realm-android'
|
|
||||||
id 'kotlin-parcelize' // 序列化
|
id 'kotlin-parcelize' // 序列化
|
||||||
id 'androidx.navigation.safeargs.kotlin'//Safe Args传递数据
|
id 'androidx.navigation.safeargs.kotlin'//Safe Args传递数据
|
||||||
}
|
}
|
||||||
@ -74,7 +73,7 @@ android {
|
|||||||
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':collect-library')
|
api project(':collect-library')
|
||||||
testImplementation 'junit:junit:4.13.2'
|
testImplementation 'junit:junit:4.13.2'
|
||||||
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
|
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
|
||||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
|
||||||
@ -89,11 +88,6 @@ dependencies {
|
|||||||
implementation 'com.google.dagger:hilt-android:2.45'
|
implementation 'com.google.dagger:hilt-android:2.45'
|
||||||
kapt 'com.google.dagger:hilt-compiler:2.45'
|
kapt 'com.google.dagger:hilt-compiler:2.45'
|
||||||
|
|
||||||
// Retrofit 网络请求相关
|
|
||||||
implementation("com.squareup.retrofit2:retrofit:2.9.0")
|
|
||||||
implementation("com.squareup.retrofit2:converter-gson:2.9.0")
|
|
||||||
implementation('com.squareup.okhttp3:okhttp:5.0.0-alpha.11')
|
|
||||||
implementation('com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11')
|
|
||||||
|
|
||||||
kapt 'android.arch.persistence.room:compiler:1.1.1'// compiler 需要用 room 的
|
kapt 'android.arch.persistence.room:compiler:1.1.1'// compiler 需要用 room 的
|
||||||
kapt "androidx.room:room-compiler:2.5.1"
|
kapt "androidx.room:room-compiler:2.5.1"
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
"name": "道路种别"
|
"name": "道路种别"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"table": "OMDB_RD_LINK_DIRECT",
|
"table": "OMDB_LINK_DIRECT",
|
||||||
"code": 2010,
|
"code": 2010,
|
||||||
"name": "道路方向"
|
"name": "道路方向"
|
||||||
},
|
},
|
||||||
|
@ -47,11 +47,6 @@ class Constant {
|
|||||||
*/
|
*/
|
||||||
lateinit var DOWNLOAD_PATH: String
|
lateinit var DOWNLOAD_PATH: String
|
||||||
|
|
||||||
/**
|
|
||||||
* 服务器地址
|
|
||||||
*/
|
|
||||||
const val SERVER_ADDRESS = "http://fastmap.navinfo.com/"
|
|
||||||
|
|
||||||
const val DEBUG = true
|
const val DEBUG = true
|
||||||
|
|
||||||
var IS_VIDEO_SPEED by kotlin.properties.Delegates.notNull<Boolean>()
|
var IS_VIDEO_SPEED by kotlin.properties.Delegates.notNull<Boolean>()
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.navinfo.omqs.db
|
package com.navinfo.omqs.db
|
||||||
|
|
||||||
import com.navinfo.collect.library.data.entity.HadLinkDvoBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
|
||||||
import io.realm.annotations.RealmModule
|
import io.realm.annotations.RealmModule
|
||||||
|
|
||||||
@RealmModule(classes = [TaskBean::class])
|
@RealmModule(classes = [TaskBean::class])
|
||||||
|
@ -7,6 +7,7 @@ import com.google.gson.Gson
|
|||||||
import com.google.gson.GsonBuilder
|
import com.google.gson.GsonBuilder
|
||||||
import com.google.gson.reflect.TypeToken
|
import com.google.gson.reflect.TypeToken
|
||||||
import com.navinfo.collect.library.data.dao.impl.TraceDataBase
|
import com.navinfo.collect.library.data.dao.impl.TraceDataBase
|
||||||
|
import com.navinfo.collect.library.system.Constant.SERVER_ADDRESS
|
||||||
import com.navinfo.omqs.Constant
|
import com.navinfo.omqs.Constant
|
||||||
import com.navinfo.omqs.OMQSApplication
|
import com.navinfo.omqs.OMQSApplication
|
||||||
import com.navinfo.omqs.db.RoomAppDatabase
|
import com.navinfo.omqs.db.RoomAppDatabase
|
||||||
@ -82,7 +83,7 @@ class GlobalModule {
|
|||||||
converterFactory: GsonConverterFactory,
|
converterFactory: GsonConverterFactory,
|
||||||
): Retrofit {
|
): Retrofit {
|
||||||
val retrofitBuilder = Retrofit.Builder()
|
val retrofitBuilder = Retrofit.Builder()
|
||||||
.baseUrl(Constant.SERVER_ADDRESS)
|
.baseUrl(SERVER_ADDRESS)
|
||||||
.client(client.get())
|
.client(client.get())
|
||||||
.addConverterFactory(converterFactory)
|
.addConverterFactory(converterFactory)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.navinfo.omqs.http
|
package com.navinfo.omqs.http
|
||||||
|
|
||||||
import com.navinfo.omqs.bean.OfflineMapCityBean
|
import com.navinfo.omqs.bean.OfflineMapCityBean
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.navinfo.omqs.http
|
package com.navinfo.omqs.http
|
||||||
|
|
||||||
import com.navinfo.omqs.bean.OfflineMapCityBean
|
import com.navinfo.omqs.bean.OfflineMapCityBean
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
@ -2,9 +2,8 @@ package com.navinfo.omqs.http
|
|||||||
|
|
||||||
import com.navinfo.omqs.bean.EvaluationInfo
|
import com.navinfo.omqs.bean.EvaluationInfo
|
||||||
import com.navinfo.omqs.bean.OfflineMapCityBean
|
import com.navinfo.omqs.bean.OfflineMapCityBean
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import okhttp3.ResponseBody
|
import okhttp3.ResponseBody
|
||||||
import retrofit2.Call
|
|
||||||
import retrofit2.Response
|
import retrofit2.Response
|
||||||
import retrofit2.http.*
|
import retrofit2.http.*
|
||||||
|
|
||||||
|
@ -4,13 +4,10 @@ import android.content.Context
|
|||||||
import androidx.lifecycle.LifecycleOwner
|
import androidx.lifecycle.LifecycleOwner
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import com.navinfo.collect.library.map.NIMapController
|
import com.navinfo.collect.library.map.NIMapController
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import com.navinfo.omqs.hilt.ImportOMDBHiltFactory
|
import com.navinfo.omqs.hilt.ImportOMDBHiltFactory
|
||||||
import com.navinfo.omqs.hilt.OMDBDataBaseHiltFactory
|
|
||||||
import com.navinfo.omqs.http.RetrofitNetworkServiceAPI
|
import com.navinfo.omqs.http.RetrofitNetworkServiceAPI
|
||||||
import dagger.hilt.android.qualifiers.ActivityContext
|
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
import javax.inject.Inject
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5,7 +5,7 @@ import androidx.lifecycle.LifecycleOwner
|
|||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import com.navinfo.omqs.Constant
|
import com.navinfo.omqs.Constant
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import com.navinfo.omqs.db.ImportOMDBHelper
|
import com.navinfo.omqs.db.ImportOMDBHelper
|
||||||
import com.navinfo.omqs.tools.FileManager
|
import com.navinfo.omqs.tools.FileManager
|
||||||
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
||||||
|
@ -3,7 +3,7 @@ package com.navinfo.omqs.http.taskupload
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.lifecycle.LifecycleOwner
|
import androidx.lifecycle.LifecycleOwner
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import com.navinfo.omqs.http.RetrofitNetworkServiceAPI
|
import com.navinfo.omqs.http.RetrofitNetworkServiceAPI
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
|
|
||||||
|
@ -8,16 +8,10 @@ import androidx.lifecycle.MutableLiveData
|
|||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import com.navinfo.collect.library.data.entity.QsRecordBean
|
import com.navinfo.collect.library.data.entity.QsRecordBean
|
||||||
import com.navinfo.omqs.bean.EvaluationInfo
|
import com.navinfo.omqs.bean.EvaluationInfo
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import com.navinfo.omqs.http.NetResult
|
|
||||||
import com.navinfo.omqs.tools.FileManager
|
|
||||||
import com.navinfo.omqs.tools.FileManager.Companion.FileUploadStatus
|
import com.navinfo.omqs.tools.FileManager.Companion.FileUploadStatus
|
||||||
import io.realm.Realm
|
import io.realm.Realm
|
||||||
import kotlinx.coroutines.*
|
import kotlinx.coroutines.*
|
||||||
import okhttp3.ResponseBody
|
|
||||||
import retrofit2.Call
|
|
||||||
import retrofit2.Callback
|
|
||||||
import retrofit2.Response
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class TaskUploadScope(
|
class TaskUploadScope(
|
||||||
@ -67,7 +61,6 @@ class TaskUploadScope(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新状态
|
* 更新状态
|
||||||
* @param status [OfflineMapCityBean.Status]
|
* @param status [OfflineMapCityBean.Status]
|
||||||
@ -76,6 +69,8 @@ class TaskUploadScope(
|
|||||||
if (taskBean.syncStatus != status) {
|
if (taskBean.syncStatus != status) {
|
||||||
taskBean.syncStatus = status
|
taskBean.syncStatus = status
|
||||||
uploadData.postValue(taskBean)
|
uploadData.postValue(taskBean)
|
||||||
|
//同步中不进行状态记录,只做界面变更显示
|
||||||
|
if(status!=FileUploadStatus.UPLOADING){
|
||||||
launch {
|
launch {
|
||||||
val realm = Realm.getDefaultInstance()
|
val realm = Realm.getDefaultInstance()
|
||||||
realm.executeTransaction {
|
realm.executeTransaction {
|
||||||
@ -84,6 +79,7 @@ class TaskUploadScope(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否未上传
|
* 是否未上传
|
||||||
@ -112,11 +108,17 @@ class TaskUploadScope(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val realm = Realm.getDefaultInstance()
|
val realm = Realm.getDefaultInstance()
|
||||||
|
|
||||||
val bodyList: MutableList<EvaluationInfo> = ArrayList()
|
val bodyList: MutableList<EvaluationInfo> = ArrayList()
|
||||||
|
|
||||||
|
if (taskBean.syncStatus == FileUploadStatus.WAITING){
|
||||||
|
change(FileUploadStatus.UPLOADING)
|
||||||
|
}
|
||||||
|
|
||||||
taskBean.hadLinkDvoList.forEach { hadLinkDvoBean ->
|
taskBean.hadLinkDvoList.forEach { hadLinkDvoBean ->
|
||||||
val objects = realm.where(QsRecordBean::class.java)
|
val objects = realm.where(QsRecordBean::class.java)
|
||||||
.equalTo("linkId", /*"84207223282277331"*/hadLinkDvoBean.linkPid).findAll()
|
.equalTo("linkId", /*"84207223282277331"*/hadLinkDvoBean.linkPid).findAll()
|
||||||
if (objects != null) {
|
if (objects != null&&objects.size>0) {
|
||||||
val copyList = realm.copyFromRealm(objects)
|
val copyList = realm.copyFromRealm(objects)
|
||||||
copyList.forEach {
|
copyList.forEach {
|
||||||
val evaluationInfo = EvaluationInfo(
|
val evaluationInfo = EvaluationInfo(
|
||||||
@ -139,18 +141,15 @@ class TaskUploadScope(
|
|||||||
|
|
||||||
bodyList.add(evaluationInfo)
|
bodyList.add(evaluationInfo)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
if(bodyList.size>0){
|
||||||
}
|
|
||||||
if (bodyList.size == 0) {
|
|
||||||
if (taskBean.syncStatus == FileUploadStatus.WAITING)
|
|
||||||
change(FileUploadStatus.NONE)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
val result = uploadManager.netApi.postRequest(bodyList)// .enqueue(object :
|
val result = uploadManager.netApi.postRequest(bodyList)// .enqueue(object :
|
||||||
// Callback<ResponseBody> {
|
// Callback<ResponseBody> {
|
||||||
if (result.isSuccessful) {
|
if (result.isSuccessful) {
|
||||||
if (result.code() == 200) {
|
if (result.code() == 200) {
|
||||||
|
// taskBean.syncStatus = FileUploadStatus.DONE
|
||||||
// handle the response
|
// handle the response
|
||||||
change(FileUploadStatus.DONE)
|
change(FileUploadStatus.DONE)
|
||||||
} else {
|
} else {
|
||||||
@ -160,6 +159,9 @@ class TaskUploadScope(
|
|||||||
} else {
|
} else {
|
||||||
change(FileUploadStatus.ERROR)
|
change(FileUploadStatus.ERROR)
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
change(FileUploadStatus.NONE)
|
||||||
|
}
|
||||||
} catch (e: Throwable) {
|
} catch (e: Throwable) {
|
||||||
change(FileUploadStatus.ERROR)
|
change(FileUploadStatus.ERROR)
|
||||||
Log.e("jingo", "数据上传出错 ${e.message}")
|
Log.e("jingo", "数据上传出错 ${e.message}")
|
||||||
|
@ -3,7 +3,7 @@ package com.navinfo.omqs.tools
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import com.navinfo.omqs.Constant
|
import com.navinfo.omqs.Constant
|
||||||
import com.navinfo.omqs.bean.OfflineMapCityBean
|
import com.navinfo.omqs.bean.OfflineMapCityBean
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class FileManager {
|
class FileManager {
|
||||||
@ -27,6 +27,7 @@ class FileManager {
|
|||||||
const val DONE = 1 //完成
|
const val DONE = 1 //完成
|
||||||
const val ERROR = 2 //错误
|
const val ERROR = 2 //错误
|
||||||
const val WAITING = 3 //等待中
|
const val WAITING = 3 //等待中
|
||||||
|
const val UPLOADING = 4 //同步中
|
||||||
}
|
}
|
||||||
|
|
||||||
//初始化数据文件夹
|
//初始化数据文件夹
|
||||||
|
@ -176,7 +176,7 @@ class LoginViewModel @Inject constructor(
|
|||||||
.directory(userFolder)
|
.directory(userFolder)
|
||||||
.name("OMQS.realm")
|
.name("OMQS.realm")
|
||||||
.encryptionKey(password)
|
.encryptionKey(password)
|
||||||
.modules(Realm.getDefaultModule(), MyRealmModule())
|
// .modules(Realm.getDefaultModule(), MyRealmModule())
|
||||||
.schemaVersion(1)
|
.schemaVersion(1)
|
||||||
.build()
|
.build()
|
||||||
Realm.setDefaultConfiguration(config)
|
Realm.setDefaultConfiguration(config)
|
||||||
|
@ -31,7 +31,7 @@ import com.navinfo.omqs.Constant
|
|||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
import com.navinfo.omqs.bean.ImportConfig
|
import com.navinfo.omqs.bean.ImportConfig
|
||||||
import com.navinfo.omqs.bean.SignBean
|
import com.navinfo.omqs.bean.SignBean
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import com.navinfo.omqs.db.RealmOperateHelper
|
import com.navinfo.omqs.db.RealmOperateHelper
|
||||||
import com.navinfo.omqs.ui.dialog.CommonDialog
|
import com.navinfo.omqs.ui.dialog.CommonDialog
|
||||||
import com.navinfo.omqs.ui.manager.TakePhotoManager
|
import com.navinfo.omqs.ui.manager.TakePhotoManager
|
||||||
|
@ -1,18 +1,11 @@
|
|||||||
package com.navinfo.omqs.ui.fragment.tasklist
|
package com.navinfo.omqs.ui.fragment.tasklist
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.util.Log
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.lifecycle.Observer
|
|
||||||
import com.navinfo.collect.library.data.entity.QsRecordBean
|
import com.navinfo.collect.library.data.entity.QsRecordBean
|
||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
|
||||||
import com.navinfo.omqs.databinding.AdapterQsRecordListBinding
|
import com.navinfo.omqs.databinding.AdapterQsRecordListBinding
|
||||||
import com.navinfo.omqs.databinding.AdapterTaskListBinding
|
|
||||||
import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
|
|
||||||
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
|
||||||
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
||||||
import com.navinfo.omqs.ui.other.BaseViewHolder
|
import com.navinfo.omqs.ui.other.BaseViewHolder
|
||||||
|
|
||||||
|
@ -1,25 +1,19 @@
|
|||||||
package com.navinfo.omqs.ui.fragment.tasklist
|
package com.navinfo.omqs.ui.fragment.tasklist
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.graphics.Color
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import com.navinfo.omqs.R
|
import com.navinfo.omqs.R
|
||||||
import com.navinfo.omqs.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import com.navinfo.omqs.databinding.AdapterTaskListBinding
|
import com.navinfo.omqs.databinding.AdapterTaskListBinding
|
||||||
import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
|
import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
|
||||||
import com.navinfo.omqs.http.taskupload.TaskUploadManager
|
import com.navinfo.omqs.http.taskupload.TaskUploadManager
|
||||||
import com.navinfo.omqs.tools.FileManager
|
|
||||||
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
||||||
import com.navinfo.omqs.tools.FileManager.Companion.FileUploadStatus
|
import com.navinfo.omqs.tools.FileManager.Companion.FileUploadStatus
|
||||||
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
||||||
import com.navinfo.omqs.ui.other.BaseViewHolder
|
import com.navinfo.omqs.ui.other.BaseViewHolder
|
||||||
import java.io.File
|
|
||||||
import java.util.*
|
|
||||||
import javax.inject.Inject
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 离线地图城市列表 RecyclerView 适配器
|
* 离线地图城市列表 RecyclerView 适配器
|
||||||
@ -130,6 +124,9 @@ class TaskListAdapter(
|
|||||||
FileUploadStatus.WAITING -> {
|
FileUploadStatus.WAITING -> {
|
||||||
binding.taskUploadBtn.text = "等待同步"
|
binding.taskUploadBtn.text = "等待同步"
|
||||||
}
|
}
|
||||||
|
FileUploadStatus.UPLOADING -> {
|
||||||
|
binding.taskUploadBtn.text = "同步中"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ import androidx.lifecycle.ViewModel
|
|||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
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.bean.TaskBean
|
import com.navinfo.collect.library.data.entity.TaskBean
|
||||||
import com.navinfo.omqs.http.NetResult
|
import com.navinfo.omqs.http.NetResult
|
||||||
import com.navinfo.omqs.http.NetworkService
|
import com.navinfo.omqs.http.NetworkService
|
||||||
import com.navinfo.omqs.tools.FileManager
|
import com.navinfo.omqs.tools.FileManager
|
||||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 32 KiB |
@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||||
<solid android:color="@color/black" />
|
<solid android:color="@color/white" />
|
||||||
<stroke
|
<stroke
|
||||||
android:width="1dp"
|
android:width="1dp"
|
||||||
android:color="@color/deepskyblue" />
|
android:color="@color/highFontColor" />
|
||||||
<corners
|
<corners
|
||||||
android:bottomLeftRadius="5dp"
|
android:bottomLeftRadius="5dp"
|
||||||
android:bottomRightRadius="5dp"
|
android:bottomRightRadius="5dp"
|
@ -4,7 +4,7 @@
|
|||||||
<shape>
|
<shape>
|
||||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||||
<solid android:color="@color/cv_gray_153" />
|
<solid android:color="@color/cv_gray_153" />
|
||||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
<corners android:radius="@dimen/default_widget_padding"></corners>
|
||||||
<stroke android:width="1.1dp" android:color="@color/cv_gray_153" />
|
<stroke android:width="1.1dp" android:color="@color/cv_gray_153" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<shape>
|
<shape>
|
||||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||||
<solid android:color="@color/white" />
|
<solid android:color="@color/white" />
|
||||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
<corners android:radius="@dimen/default_widget_padding"></corners>
|
||||||
<stroke android:width="1.1dp" android:color="@color/colorSecondary" />
|
<stroke android:width="1.1dp" android:color="@color/colorSecondary" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
@ -20,7 +20,7 @@
|
|||||||
<shape>
|
<shape>
|
||||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||||
<solid android:color="@color/white" />
|
<solid android:color="@color/white" />
|
||||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
<corners android:radius="@dimen/default_widget_padding"></corners>
|
||||||
<stroke android:width="1.1dp" android:color="@color/colorSecondary" />
|
<stroke android:width="1.1dp" android:color="@color/colorSecondary" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
@ -28,7 +28,7 @@
|
|||||||
<shape>
|
<shape>
|
||||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||||
<solid android:color="@color/cvm_red" />
|
<solid android:color="@color/cvm_red" />
|
||||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
<corners android:radius="@dimen/default_widget_padding"></corners>
|
||||||
<stroke android:width="1.1dp" android:color="@color/cvm_red" />
|
<stroke android:width="1.1dp" android:color="@color/cvm_red" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
@ -36,7 +36,7 @@
|
|||||||
<shape>
|
<shape>
|
||||||
<padding android:bottom="@dimen/default_widget_padding" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="@dimen/default_widget_padding"></padding>
|
<padding android:bottom="@dimen/default_widget_padding" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="@dimen/default_widget_padding"></padding>
|
||||||
<solid android:color="@color/transp" />
|
<solid android:color="@color/transp" />
|
||||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
<corners android:radius="@dimen/default_widget_padding"></corners>
|
||||||
<stroke android:width="1.1dp" android:color="@color/colorPrimary" />
|
<stroke android:width="1.1dp" android:color="@color/colorPrimary" />
|
||||||
</shape>
|
</shape>
|
||||||
</item>
|
</item>
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:state_enabled="false">
|
||||||
|
<shape>
|
||||||
|
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||||
|
<solid android:color="@color/cv_gray_153" />
|
||||||
|
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||||
|
<stroke android:width="1.1dp" android:color="@color/cv_gray_153" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item android:state_pressed="true">
|
||||||
|
<shape>
|
||||||
|
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||||
|
<solid android:color="@color/white" />
|
||||||
|
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||||
|
<stroke android:width="1.1dp" android:color="@color/colorSecondary" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item android:state_checked="true">
|
||||||
|
<shape>
|
||||||
|
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||||
|
<solid android:color="@color/white" />
|
||||||
|
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||||
|
<stroke android:width="1.1dp" android:color="@color/colorSecondary" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item android:state_selected="true">
|
||||||
|
<shape>
|
||||||
|
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||||
|
<solid android:color="@color/cvm_red" />
|
||||||
|
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||||
|
<stroke android:width="1.1dp" android:color="@color/cvm_red" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<shape>
|
||||||
|
<padding android:bottom="@dimen/default_widget_padding" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="@dimen/default_widget_padding"></padding>
|
||||||
|
<solid android:color="@color/transp" />
|
||||||
|
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||||
|
<stroke android:width="1.1dp" android:color="@color/colorPrimary" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
</selector>
|
@ -4,7 +4,7 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/ivory"
|
android:background="@color/white"
|
||||||
android:paddingLeft="10dp"
|
android:paddingLeft="10dp"
|
||||||
android:paddingTop="5dp"
|
android:paddingTop="5dp"
|
||||||
android:paddingRight="10dp"
|
android:paddingRight="10dp"
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/offline_map_download_btn"
|
android:id="@+id/offline_map_download_btn"
|
||||||
style="@style/map_download_style_btn"
|
style="@style/btn_default_stroke_horizontal_round"
|
||||||
android:layout_width="60dp"
|
android:layout_width="60dp"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_gravity="center_vertical"
|
android:layout_gravity="center_vertical"
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
android:id="@+id/qs_record_index"
|
android:id="@+id/qs_record_index"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:drawableLeft="@mipmap/marker"
|
android:drawableLeft="@mipmap/marker2"
|
||||||
android:maxLength="3"
|
android:maxLength="3"
|
||||||
android:text=""
|
android:text=""
|
||||||
android:layout_marginRight="@dimen/default_widget_padding"
|
android:layout_marginRight="@dimen/default_widget_padding"
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/ivory"
|
android:background="@color/white"
|
||||||
android:paddingLeft="10dp"
|
android:paddingLeft="10dp"
|
||||||
android:paddingTop="5dp"
|
android:paddingTop="5dp"
|
||||||
android:paddingRight="10dp"
|
android:paddingRight="10dp"
|
||||||
@ -58,7 +58,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/task_download_btn"
|
android:id="@+id/task_download_btn"
|
||||||
style="@style/map_download_style_btn"
|
style="@style/btn_default_stroke_horizontal_round"
|
||||||
android:layout_width="60dp"
|
android:layout_width="60dp"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/task_upload_btn"
|
android:id="@+id/task_upload_btn"
|
||||||
style="@style/map_download_style_btn"
|
style="@style/btn_default_stroke_horizontal_round"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:minWidth="60dp"
|
android:minWidth="60dp"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:background="@drawable/drawable_bg_blue_frame_black_bg_4_radius"
|
android:background="@drawable/drawable_bg_blue_frame_white_bg_4_radius"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
>
|
>
|
||||||
<ImageView
|
<ImageView
|
||||||
|
@ -107,6 +107,19 @@
|
|||||||
<item name="android:textSize">15sp</item>
|
<item name="android:textSize">15sp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="btn_default_stroke_horizontal_round" comment="左右为圆角的按钮" parent="ThemeOverlay.Material3.AutoCompleteTextView">
|
||||||
|
<item name="android:layout_width">wrap_content</item>
|
||||||
|
<item name="android:layout_height">wrap_content</item>
|
||||||
|
<item name="android:layout_gravity">center_vertical</item>
|
||||||
|
<item name="android:paddingHorizontal">@dimen/default_widget_padding</item>
|
||||||
|
<item name="android:paddingVertical">5dp</item>
|
||||||
|
<item name="android:background">@drawable/selector_horizontal_round_corner_bg</item>
|
||||||
|
<item name="android:foreground">@drawable/ripple_btn_press</item>
|
||||||
|
<item name="android:gravity">center_horizontal</item>
|
||||||
|
<item name="android:textColor">@color/selector_default_primary_press_secondary</item>
|
||||||
|
<item name="android:textSize">15sp</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
<!-- 默认按钮样式 -->
|
<!-- 默认按钮样式 -->
|
||||||
<style name="btn_default_style" parent="content_font_default">
|
<style name="btn_default_style" parent="content_font_default">
|
||||||
<item name="android:textColor">@color/btn_select_color</item>
|
<item name="android:textColor">@color/btn_select_color</item>
|
||||||
|
@ -132,4 +132,10 @@ dependencies {
|
|||||||
// implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
|
// implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'
|
||||||
// // 协程Java8支持库
|
// // 协程Java8支持库
|
||||||
// implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4'
|
// implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.4'
|
||||||
|
|
||||||
|
// Retrofit 网络请求相关
|
||||||
|
api("com.squareup.retrofit2:retrofit:2.9.0")
|
||||||
|
api("com.squareup.retrofit2:converter-gson:2.9.0")
|
||||||
|
api('com.squareup.okhttp3:okhttp:5.0.0-alpha.11')
|
||||||
|
api('com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11')
|
||||||
}
|
}
|
@ -55,7 +55,6 @@
|
|||||||
<style-text fill="#000000" id="max-speed-limit" k="name" size="15" stroke="#ffffff"
|
<style-text fill="#000000" id="max-speed-limit" k="name" size="15" stroke="#ffffff"
|
||||||
stroke-width="0.1" />
|
stroke-width="0.1" />
|
||||||
|
|
||||||
|
|
||||||
<!--###### AREA styles ######-->
|
<!--###### AREA styles ######-->
|
||||||
|
|
||||||
<!--residential-->
|
<!--residential-->
|
||||||
@ -1554,21 +1553,51 @@
|
|||||||
</m>
|
</m>
|
||||||
|
|
||||||
<m k="qi_table">
|
<m k="qi_table">
|
||||||
|
<!--车道数-->
|
||||||
|
<m v="OMDB_LANE_NUM">
|
||||||
|
<m k="laneNum">
|
||||||
|
<m v="1">
|
||||||
|
<line stroke="#545D6C" width="3"/>
|
||||||
|
</m>
|
||||||
|
<m v="2">
|
||||||
|
<line stroke="#545D6C" width="6"/>
|
||||||
|
</m>
|
||||||
|
<m v="3">
|
||||||
|
<line stroke="#545D6C" width="9"/>
|
||||||
|
</m>
|
||||||
|
<m v="4">
|
||||||
|
<line stroke="#545D6C" width="12"/>
|
||||||
|
</m>
|
||||||
|
<m v="5">
|
||||||
|
<line stroke="#545D6C" width="15"/>
|
||||||
|
</m>
|
||||||
|
<m v="6">
|
||||||
|
<line stroke="#545D6C" width="18"/>
|
||||||
|
</m>
|
||||||
|
<m v="7">
|
||||||
|
<line stroke="#545D6C" width="21"/>
|
||||||
|
</m>
|
||||||
|
<m v="8">
|
||||||
|
<line stroke="#545D6C" width="24"/>
|
||||||
|
</m>
|
||||||
|
<m v="9">
|
||||||
|
<line stroke="#545D6C" width="27"/>
|
||||||
|
</m>
|
||||||
|
<m v="10">
|
||||||
|
<line stroke="#545D6C" width="30"/>
|
||||||
|
</m>
|
||||||
|
<m v="11">
|
||||||
|
<line stroke="#545D6C" width="33"/>
|
||||||
|
</m>
|
||||||
|
<m v="12">
|
||||||
|
<line stroke="#545D6C" width="36"/>
|
||||||
|
</m>
|
||||||
|
</m>
|
||||||
|
</m>
|
||||||
<!-- 道路线 -->
|
<!-- 道路线 -->
|
||||||
<m v="OMDB_RD_LINK">
|
<m v="OMDB_RD_LINK">
|
||||||
<line stroke="#9c9c9c" width="1"/>
|
<line stroke="#9c9c9c" width="1"/>
|
||||||
</m>
|
</m>
|
||||||
<!--道路方向-->
|
|
||||||
<m v="OMDB_RD_LINK_DIRECT">
|
|
||||||
<m k="direct">
|
|
||||||
<m v="2">
|
|
||||||
<lineSymbol src="assets:omdb/oneway_left.svg"></lineSymbol>
|
|
||||||
</m>
|
|
||||||
<m v="3">
|
|
||||||
<lineSymbol src="assets:omdb/oneway_right.svg"></lineSymbol>
|
|
||||||
</m>
|
|
||||||
</m>
|
|
||||||
</m>
|
|
||||||
<!--道路种别-->
|
<!--道路种别-->
|
||||||
<m v="OMDB_RD_LINK_KIND">
|
<m v="OMDB_RD_LINK_KIND">
|
||||||
<m k="kind">
|
<m k="kind">
|
||||||
@ -1618,20 +1647,164 @@
|
|||||||
<m v="OMDB_SPEEDLIMIT">
|
<m v="OMDB_SPEEDLIMIT">
|
||||||
<m k="speedFlag">
|
<m k="speedFlag">
|
||||||
<m v="0">
|
<m v="0">
|
||||||
<circle fill="#ffffff" radius="28" scale-radius="true" stroke="#ff0000" stroke-width="4"/>
|
<!-- <circle fill="#ffffff" radius="30" scale-radius="true" stroke="#ff0000" stroke-width="4"/>-->
|
||||||
<m select="any">
|
<!-- <text k="maxSpeed" use="max-speed-limit" priority="0"></text>-->
|
||||||
<text k="maxSpeed" use="max-speed-limit"></text>
|
<m k="maxSpeed">
|
||||||
<caption k="minSpeed" dy="-28" fill="#000000" priority="5" size="14" stroke="#ffffff"
|
<m v="5">
|
||||||
stroke-width="1.0"></caption>
|
<symbol src="assets:omdb/1101/1101_5_0.png"></symbol>
|
||||||
</m>
|
</m>
|
||||||
|
<m v="10">
|
||||||
|
<symbol src="assets:omdb/1101/1101_10_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="15">
|
||||||
|
<symbol src="assets:omdb/1101/1101_15_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="20">
|
||||||
|
<symbol src="assets:omdb/1101/1101_20_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="25">
|
||||||
|
<symbol src="assets:omdb/1101/1101_25_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="30">
|
||||||
|
<symbol src="assets:omdb/1101/1101_30_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="35">
|
||||||
|
<symbol src="assets:omdb/1101/1101_35_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="40">
|
||||||
|
<symbol src="assets:omdb/1101/1101_40_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="45">
|
||||||
|
<symbol src="assets:omdb/1101/1101_45_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="50">
|
||||||
|
<symbol src="assets:omdb/1101/1101_50_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="55">
|
||||||
|
<symbol src="assets:omdb/1101/1101_55_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="60">
|
||||||
|
<symbol src="assets:omdb/1101/1101_60_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="65">
|
||||||
|
<symbol src="assets:omdb/1101/1101_65_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="70">
|
||||||
|
<symbol src="assets:omdb/1101/1101_70_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="75">
|
||||||
|
<symbol src="assets:omdb/1101/1101_75_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="80">
|
||||||
|
<symbol src="assets:omdb/1101/1101_80_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="85">
|
||||||
|
<symbol src="assets:omdb/1101/1101_85_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="90">
|
||||||
|
<symbol src="assets:omdb/1101/1101_90_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="95">
|
||||||
|
<symbol src="assets:omdb/1101/1101_95_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="100">
|
||||||
|
<symbol src="assets:omdb/1101/1101_100_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="105">
|
||||||
|
<symbol src="assets:omdb/1101/1101_105_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="110">
|
||||||
|
<symbol src="assets:omdb/1101/1101_110_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="115">
|
||||||
|
<symbol src="assets:omdb/1101/1101_115_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="120">
|
||||||
|
<symbol src="assets:omdb/1101/1101_120_0.png"></symbol>
|
||||||
|
</m>
|
||||||
|
</m>
|
||||||
|
<caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"
|
||||||
|
stroke-width="1.0"></caption>
|
||||||
</m>
|
</m>
|
||||||
<m v="1">
|
<m v="1">
|
||||||
<circle fill="#ffffff" radius="28" scale-radius="true" stroke="#00ff00" stroke-width="4"/>
|
<!-- <circle fill="#ffffff" radius="30" scale-radius="true" stroke="#00ff00" stroke-width="4"/>-->
|
||||||
<m select="any">
|
<!-- <text k="maxSpeed" use="max-speed-limit"></text>-->
|
||||||
<text k="maxSpeed" use="max-speed-limit"></text>
|
<m k="maxSpeed">
|
||||||
<caption k="minSpeed" dy="-28" fill="#000000" priority="5" size="14" stroke="#ffffff"
|
<m v="5">
|
||||||
stroke-width="1.0"></caption>
|
<symbol src="assets:omdb/1101/1101_5_1.png"></symbol>
|
||||||
</m>
|
</m>
|
||||||
|
<m v="10">
|
||||||
|
<symbol src="assets:omdb/1101/1101_10_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="15">
|
||||||
|
<symbol src="assets:omdb/1101/1101_15_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="20">
|
||||||
|
<symbol src="assets:omdb/1101/1101_20_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="25">
|
||||||
|
<symbol src="assets:omdb/1101/1101_25_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="30">
|
||||||
|
<symbol src="assets:omdb/1101/1101_30_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="35">
|
||||||
|
<symbol src="assets:omdb/1101/1101_35_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="40">
|
||||||
|
<symbol src="assets:omdb/1101/1101_40_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="45">
|
||||||
|
<symbol src="assets:omdb/1101/1101_45_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="50">
|
||||||
|
<symbol src="assets:omdb/1101/1101_50_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="55">
|
||||||
|
<symbol src="assets:omdb/1101/1101_55_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="60">
|
||||||
|
<symbol src="assets:omdb/1101/1101_60_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="65">
|
||||||
|
<symbol src="assets:omdb/1101/1101_65_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="70">
|
||||||
|
<symbol src="assets:omdb/1101/1101_70_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="75">
|
||||||
|
<symbol src="assets:omdb/1101/1101_75_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="80">
|
||||||
|
<symbol src="assets:omdb/1101/1101_80_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="85">
|
||||||
|
<symbol src="assets:omdb/1101/1101_85_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="90">
|
||||||
|
<symbol src="assets:omdb/1101/1101_90_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="95">
|
||||||
|
<symbol src="assets:omdb/1101/1101_95_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="100">
|
||||||
|
<symbol src="assets:omdb/1101/1101_100_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="105">
|
||||||
|
<symbol src="assets:omdb/1101/1101_105_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="110">
|
||||||
|
<symbol src="assets:omdb/1101/1101_110_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="115">
|
||||||
|
<symbol src="assets:omdb/1101/1101_115_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
<m v="120">
|
||||||
|
<symbol src="assets:omdb/1101/1101_120_1.png"></symbol>
|
||||||
|
</m>
|
||||||
|
</m>
|
||||||
|
<caption k="minSpeed" dy="-28" fill="#000000" priority="0" size="14" stroke="#ffffff"
|
||||||
|
stroke-width="1.0"></caption>
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
@ -1641,50 +1814,20 @@
|
|||||||
<!--可变点限速-->
|
<!--可变点限速-->
|
||||||
<m v="OMDB_SPEEDLIMIT_VAR">
|
<m v="OMDB_SPEEDLIMIT_VAR">
|
||||||
</m>
|
</m>
|
||||||
<!--车道数-->
|
<!--车道中心线-->
|
||||||
<m v="OMDB_LANE_NUM">
|
<m v="OMDB_LANE_LINK_LG">
|
||||||
<m k="laneNum">
|
<line stroke="#ecf0f1" width="0.1" dasharray="35,35"/>
|
||||||
<m v="1">
|
|
||||||
<line stroke="#545D6C" width="3"/>
|
|
||||||
</m>
|
</m>
|
||||||
|
<!--道路方向-->
|
||||||
|
<m v="OMDB_LINK_DIRECT">
|
||||||
|
<m k="direct">
|
||||||
<m v="2">
|
<m v="2">
|
||||||
<line stroke="#545D6C" width="6"/>
|
<lineSymbol src="assets:omdb/oneway_right.svg"></lineSymbol>
|
||||||
</m>
|
</m>
|
||||||
<m v="3">
|
<m v="3">
|
||||||
<line stroke="#545D6C" width="9"/>
|
<lineSymbol src="assets:omdb/oneway_left.svg"></lineSymbol>
|
||||||
</m>
|
|
||||||
<m v="4">
|
|
||||||
<line stroke="#545D6C" width="12"/>
|
|
||||||
</m>
|
|
||||||
<m v="5">
|
|
||||||
<line stroke="#545D6C" width="15"/>
|
|
||||||
</m>
|
|
||||||
<m v="6">
|
|
||||||
<line stroke="#545D6C" width="18"/>
|
|
||||||
</m>
|
|
||||||
<m v="7">
|
|
||||||
<line stroke="#545D6C" width="21"/>
|
|
||||||
</m>
|
|
||||||
<m v="8">
|
|
||||||
<line stroke="#545D6C" width="24"/>
|
|
||||||
</m>
|
|
||||||
<m v="9">
|
|
||||||
<line stroke="#545D6C" width="27"/>
|
|
||||||
</m>
|
|
||||||
<m v="10">
|
|
||||||
<line stroke="#545D6C" width="30"/>
|
|
||||||
</m>
|
|
||||||
<m v="11">
|
|
||||||
<line stroke="#545D6C" width="33"/>
|
|
||||||
</m>
|
|
||||||
<m v="12">
|
|
||||||
<line stroke="#545D6C" width="36"/>
|
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
<!--车道中心线-->
|
|
||||||
<m v="OMDB_LANE_LG_LINK">
|
|
||||||
<line stroke="#ecf0f1" width="0.1" dasharray="35,35"/>
|
|
||||||
</m>
|
|
||||||
</m>
|
</m>
|
||||||
</rendertheme>
|
</rendertheme>
|
BIN
collect-library/src/main/assets/omdb/1101/1101_100_0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_100_1.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_100_2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_100_3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_105_0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_105_1.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_105_2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_105_3.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_10_0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_10_1.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_10_2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_10_3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_110_0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_110_1.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_110_2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_110_3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_115_0.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_115_1.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_115_2.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_115_3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_120_0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_120_1.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_120_2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_120_3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_15_0.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_15_1.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_15_2.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_15_3.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_20_0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_20_1.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_20_2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_20_3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_25_0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_25_1.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_25_2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_25_3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_2_0.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_2_1.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_2_2.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_2_3.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_30_0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_30_1.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_30_2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_30_3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_35_0.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_35_1.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_35_2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_35_3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_3_0.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_3_1.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_3_2.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_3_3.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_40_0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_40_1.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_40_2.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_40_3.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
collect-library/src/main/assets/omdb/1101/1101_45_0.png
Normal file
After Width: | Height: | Size: 1.6 KiB |