Merge branch 'navinfo-20231018'

# Conflicts:
#	app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginViewModel.kt
#	app/src/main/java/com/navinfo/omqs/util/NaviEngine.kt
#	collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java
This commit is contained in:
squallzhjch 2023-10-20 16:38:53 +08:00
commit 9cf39d476c
12 changed files with 836 additions and 685 deletions

File diff suppressed because it is too large Load Diff

View File

@ -11,6 +11,7 @@ import com.blankj.utilcode.util.ZipUtils
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import com.navinfo.collect.library.data.entity.HadLinkDvoBean import com.navinfo.collect.library.data.entity.HadLinkDvoBean
import com.navinfo.collect.library.data.entity.LinkRelation
import com.navinfo.collect.library.data.entity.RenderEntity import com.navinfo.collect.library.data.entity.RenderEntity
import com.navinfo.collect.library.data.entity.TaskBean import com.navinfo.collect.library.data.entity.TaskBean
import com.navinfo.collect.library.enums.DataCodeEnum import com.navinfo.collect.library.enums.DataCodeEnum
@ -36,7 +37,9 @@ import org.locationtech.jts.geom.LineString
import org.locationtech.jts.geom.MultiLineString import org.locationtech.jts.geom.MultiLineString
import org.spatialite.database.SQLiteDatabase import org.spatialite.database.SQLiteDatabase
import java.io.File import java.io.File
import java.util.*
import javax.inject.Inject import javax.inject.Inject
import kotlin.collections.HashMap
import kotlin.streams.toList import kotlin.streams.toList
/** /**
@ -180,28 +183,27 @@ class ImportOMDBHelper @AssistedInject constructor(
var tableImportTime = System.currentTimeMillis() var tableImportTime = System.currentTimeMillis()
//总表要素统计时间 //总表要素统计时间
var dataImportTime = System.currentTimeMillis() var dataImportTime = System.currentTimeMillis()
val realm = Realm.getInstance(currentInstallTaskConfig)
Realm.getInstance(currentInstallTaskConfig).beginTransaction() realm.beginTransaction()
for (importConfig in importConfigList) { for (importConfig in importConfigList) {
tableNum += importConfig.tableMap.size tableNum += importConfig.tableMap.size
} }
//缓存任务link信息便于下面与数据进行任务link匹配 //缓存任务link信息便于下面与数据进行任务link匹配
val hashMap: HashMap<Long, HadLinkDvoBean> = HashMap<Long, HadLinkDvoBean>() val hashMap: HashMap<Long, HadLinkDvoBean> = HashMap<Long, HadLinkDvoBean>()
val lineList = arrayOfNulls<LineString>(task.hadLinkDvoList.size) // val lineList = arrayOfNulls<LineString>(task.hadLinkDvoList.size)
var index = 0 // var index = 0
task.hadLinkDvoList.forEach { task.hadLinkDvoList.forEach {
hashMap[it.linkPid.toLong()] = it hashMap[it.linkPid.toLong()] = it
lineList[index] = GeometryTools.createGeometry(it.geometry) as LineString // lineList[index] = GeometryTools.createGeometry(it.geometry) as LineString
index++ // index++
} }
val resHashMap: HashMap<String, RenderEntity> = val resHashMap: HashMap<String, RenderEntity> =
HashMap<String, RenderEntity>() //define empty hashmap HashMap<String, RenderEntity>() //define empty hashmap
try { try {
var multipLine = MultiLineString(lineList, GeometryFactory()) // var multipLine = MultiLineString(lineList, GeometryFactory())
// 遍历解压后的文件,读取该数据返回 // 遍历解压后的文件,读取该数据返回
@ -257,6 +259,26 @@ class ImportOMDBHelper @AssistedInject constructor(
renderEntity.taskId = task.id renderEntity.taskId = task.id
renderEntity.zoomMin = map["qi_zoomMin"].toString().toInt() renderEntity.zoomMin = map["qi_zoomMin"].toString().toInt()
renderEntity.zoomMax = map["qi_zoomMax"].toString().toInt() renderEntity.zoomMax = map["qi_zoomMax"].toString().toInt()
// 在外层记录当前数据的linkPid
if (map.containsKey("linkPid")) {
renderEntity.linkPid =
map["linkPid"].toString().split(",")
?.get(0)
.toString()
} else if (map.containsKey("linkList")) {
val linkList =
map["linkList"].toString()
if (!linkList.isNullOrEmpty() && linkList != "null") {
val list: List<LinkList> = gson.fromJson(
linkList,
object :
TypeToken<List<LinkList>>() {}.type
)
if (list != null) {
renderEntity.linkPid = list[0].linkPid
}
}
}
renderEntity.geometry = map["geometry"].toString() renderEntity.geometry = map["geometry"].toString()
Log.d("ImportOMDBHelper", "解析===1处理3D") Log.d("ImportOMDBHelper", "解析===1处理3D")
@ -748,9 +770,24 @@ class ImportOMDBHelper @AssistedInject constructor(
if (renderEntity.properties.containsKey("geometry")) { if (renderEntity.properties.containsKey("geometry")) {
renderEntity.properties.remove("geometry") renderEntity.properties.remove("geometry")
} }
// 如果当前解析的是OMDB_RD_LINK数据将其缓存在预处理类中以便后续处理其他要素时使用
if (currentConfig.code == DataCodeEnum.OMDB_RD_LINK.code.toInt()) {
if (renderEntity.linkRelation == null) {
renderEntity.linkRelation = LinkRelation()
}
renderEntity.linkRelation!!.sNodeId =
renderEntity.properties["snodePid"]
renderEntity.linkRelation!!.eNodeId =
renderEntity.properties["enodePid"]
// 同时尝试更新RD_link的relation记录中的名称字段
renderEntity.linkRelation!!.linkPid =
renderEntity.properties["linkPid"]
?: UUID.randomUUID().toString()
}
Log.d("ImportOMDBHelper", "解析===1insert") Log.d("ImportOMDBHelper", "解析===1insert")
Realm.getInstance(currentInstallTaskConfig) realm.insert(renderEntity)
.insert(renderEntity)
Log.d("ImportOMDBHelper", "解析===2insert") Log.d("ImportOMDBHelper", "解析===2insert")
} }
if (currentConfig.code == DataCodeEnum.OMDB_RD_LINK.code.toInt()) { if (currentConfig.code == DataCodeEnum.OMDB_RD_LINK.code.toInt()) {
@ -762,8 +799,9 @@ class ImportOMDBHelper @AssistedInject constructor(
// 如果当前解析的是OMDB_RD_LINK数据将其缓存在预处理类中以便后续处理其他要素时使用 // 如果当前解析的是OMDB_RD_LINK数据将其缓存在预处理类中以便后续处理其他要素时使用
if (currentConfig.code == DataCodeEnum.OMDB_RD_LINK.code.toInt()) { if (currentConfig.code == DataCodeEnum.OMDB_RD_LINK.code.toInt()) {
importConfig.preProcess.cacheRdLink = // importConfig.preProcess.cacheRdLink =
listResult.associateBy { it.properties["linkPid"] } // listResult.associateBy { it.properties["linkPid"] }
// 将sNodeId和eNodeId放在外层关联对象中优化查询效率
} }
// 1个文件发送一次flow流 // 1个文件发送一次flow流
emit("${processIndex}/${tableNum}") emit("${processIndex}/${tableNum}")
@ -774,30 +812,33 @@ class ImportOMDBHelper @AssistedInject constructor(
) )
elementIndex = 0 elementIndex = 0
tableImportTime = System.currentTimeMillis() tableImportTime = System.currentTimeMillis()
if (insertIndex % 20000 == 0) { if (insertIndex % 20000 == 0 || currentEntry.value.table == DataCodeEnum.OMDB_RD_LINK.name) {
Log.d( Log.d(
"ImportOMDBHelper", "ImportOMDBHelper",
"表解析===结束用时时间===事物开始" "表解析===结束用时时间===事物开始"
) )
Realm.getInstance(currentInstallTaskConfig).commitTransaction() realm.commitTransaction()
Realm.getInstance(currentInstallTaskConfig).beginTransaction() realm.refresh()
realm.beginTransaction()
Log.d( Log.d(
"ImportOMDBHelper", "ImportOMDBHelper",
"表解析===结束用时时间===事物结束" "表解析===结束用时时间===事物结束"
) )
} }
} }
} }
Realm.getInstance(currentInstallTaskConfig).commitTransaction() realm.commitTransaction()
Realm.getInstance(currentInstallTaskConfig).close() realm.close()
Log.d( Log.d(
"ImportOMDBHelper", "ImportOMDBHelper",
"表解析===结束用时时间${(System.currentTimeMillis() - dataImportTime)}===$dataIndex===插入$insertIndex" "表解析===结束用时时间${(System.currentTimeMillis() - dataImportTime)}===$dataIndex===插入$insertIndex"
) )
Log.e("qj", "安装结束") Log.e("qj", "安装结束")
} catch (e: Exception) { } catch (e: Exception) {
if (Realm.getInstance(currentInstallTaskConfig).isInTransaction) { if (realm.isInTransaction) {
Realm.getInstance(currentInstallTaskConfig).cancelTransaction() realm.cancelTransaction()
realm.close()
} }
throw e throw e
} }

View File

@ -1,8 +1,10 @@
package com.navinfo.omqs.db package com.navinfo.omqs.db
import android.util.Log import android.util.Log
import com.navinfo.collect.library.data.entity.LinkRelation
import com.navinfo.collect.library.data.entity.ReferenceEntity import com.navinfo.collect.library.data.entity.ReferenceEntity
import com.navinfo.collect.library.data.entity.RenderEntity import com.navinfo.collect.library.data.entity.RenderEntity
import com.navinfo.collect.library.enums.DataCodeEnum
import com.navinfo.collect.library.utils.GeometryTools import com.navinfo.collect.library.utils.GeometryTools
import com.navinfo.omqs.Constant import com.navinfo.omqs.Constant
import io.realm.Realm import io.realm.Realm
@ -13,31 +15,46 @@ import org.locationtech.jts.geom.Coordinate
import org.locationtech.jts.geom.Geometry import org.locationtech.jts.geom.Geometry
import org.locationtech.jts.io.WKTWriter import org.locationtech.jts.io.WKTWriter
import org.oscim.core.GeoPoint import org.oscim.core.GeoPoint
import java.util.*
class ImportPreProcess { class ImportPreProcess {
val code2NameMap = Code2NameMap() val code2NameMap = Code2NameMap()
lateinit var cacheRdLink: Map<String?, RenderEntity> // lateinit var cacheRdLink: Map<String?, RenderEntity>
val defaultTranslateDistance = 3.0 val defaultTranslateDistance = 3.0
val testFlag: Boolean = false val testFlag: Boolean = false
fun checkCircleRoad(renderEntity: RenderEntity): Boolean { fun checkCircleRoad(renderEntity: RenderEntity): Boolean {
val linkInId = renderEntity.properties["linkIn"] val linkInId = renderEntity.properties["linkIn"]
val linkOutId = renderEntity.properties["linkOut"] val linkOutId = renderEntity.properties["linkOut"]
// 根据linkIn和linkOut获取对应的link数据 // // 根据linkIn和linkOut获取对应的link数据
val linkInEntity = cacheRdLink[linkInId] // val linkInEntity = cacheRdLink[linkInId]
val linkOutEntity = cacheRdLink[linkOutId] // val linkOutEntity = cacheRdLink[linkOutId]
Log.d(
"checkCircleRoad", // 根据linkIn和linkOut从数据库获取对应的link数据
"LinkInEntity: ${linkInId}- ${linkInEntity?.properties?.get("snodePid")}LinkOutEntity: ${linkOutId}- ${ Realm.getInstance(Constant.currentInstallTaskConfig)
linkOutEntity?.properties?.get("enodePid") .use { realm ->
}" val linkInEntity = realm.where(RenderEntity::class.java)
) .equalTo("code", DataCodeEnum.OMDB_RD_LINK.code)
// 查询linkIn的sNode和linkOut的eNode是否相同如果相同认为数据是环形路口返回false .and().equalTo("linkPid", linkInId)
if (linkInEntity != null && linkOutEntity != null) { .findFirst()
if (linkInEntity.properties["snodePid"] == linkOutEntity.properties["enodePid"] || linkInEntity.properties["enodePid"] == linkOutEntity.properties["snodePid"] || linkInEntity.properties["snodePid"] == linkOutEntity.properties["snodePid"] || linkInEntity.properties["enodePid"] == linkOutEntity.properties["enodePid"]) { val linkOutEntity = realm.where(RenderEntity::class.java)
return false .equalTo("code", DataCodeEnum.OMDB_RD_LINK.code)
.and().equalTo("linkPid", linkOutId)
.findFirst()
Log.d(
"checkCircleRoad",
"LinkInEntity: ${linkInId}- ${linkInEntity?.properties?.get("snodePid")}LinkOutEntity: ${linkOutId}- ${
linkOutEntity?.properties?.get("enodePid")
}"
)
// 查询linkIn的sNode和linkOut的eNode是否相同如果相同认为数据是环形路口返回false
if (linkInEntity != null && linkOutEntity != null) {
if (linkInEntity.properties["snodePid"] == linkOutEntity.properties["enodePid"] || linkInEntity.properties["enodePid"] == linkOutEntity.properties["snodePid"] || linkInEntity.properties["snodePid"] == linkOutEntity.properties["snodePid"] || linkInEntity.properties["enodePid"] == linkOutEntity.properties["enodePid"]) {
return false
}
}
} }
}
return true return true
} }
@ -568,6 +585,29 @@ class ImportPreProcess {
} }
} }
/**
* 通过rdDirect对象向rdLink的relation字段
* */
fun addRdLinkDirect(renderEntity: RenderEntity) {
// 尝试更新RD_link的relation记录中的方向字段
val rdLinkEntity = queryRdLink(renderEntity.properties["linkPid"]!!)
if (rdLinkEntity?.linkRelation == null) {
rdLinkEntity?.linkRelation = LinkRelation()
}
rdLinkEntity?.linkRelation?.direct = renderEntity.properties["direct"]!!.toInt()
Realm.getInstance(Constant.currentInstallTaskConfig).insertOrUpdate(rdLinkEntity)
}
/**
* 查询指定的Rdlink数据
* */
fun queryRdLink(rdLinkId: String): RenderEntity? {
return Realm.getInstance(Constant.currentInstallTaskConfig).where(RenderEntity::class.java)
.equalTo("code", DataCodeEnum.OMDB_RD_LINK.code)
.and().equalTo("linkPid", rdLinkId)
.findFirst()
}
/** /**
* 生成电子眼对应的渲染名称 * 生成电子眼对应的渲染名称
* */ * */

View File

@ -178,7 +178,8 @@ class RealmOperateHelper() {
) )
val realm = getRealmDefaultInstance() val realm = getRealmDefaultInstance()
try { try {
val realmList = realm.where(HadLinkDvoBean::class.java).equalTo("taskId", taskId).findAll() val realmList =
realm.where(HadLinkDvoBean::class.java).equalTo("taskId", taskId).findAll()
var linkBean: HadLinkDvoBean? = null var linkBean: HadLinkDvoBean? = null
var nearLast: Double = 99999.99 var nearLast: Double = 99999.99
for (link in realmList) { for (link in realmList) {
@ -333,7 +334,7 @@ class RealmOperateHelper() {
val result = mutableListOf<RenderEntity>() val result = mutableListOf<RenderEntity>()
val realmList = getSelectTaskRealmTools(realm, RenderEntity::class.java, false) val realmList = getSelectTaskRealmTools(realm, RenderEntity::class.java, false)
.notEqualTo("table", DataCodeEnum.OMDB_RD_LINK.name) .notEqualTo("table", DataCodeEnum.OMDB_RD_LINK.name)
.equalTo("properties['${LinkTable.linkPid}']", linkPid) .equalTo("linkPid", linkPid)
.findAll() .findAll()
result.addAll(realm.copyFromRealm(realmList)) result.addAll(realm.copyFromRealm(realmList))
return result return result

View File

@ -8,10 +8,13 @@ import android.widget.Toast
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase
import com.blankj.utilcode.util.FileIOUtils import com.blankj.utilcode.util.FileIOUtils
import com.blankj.utilcode.util.ResourceUtils import com.blankj.utilcode.util.ResourceUtils
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import com.navinfo.collect.library.data.entity.LinkRelation
import com.navinfo.collect.library.data.entity.RenderEntity import com.navinfo.collect.library.data.entity.RenderEntity
import com.navinfo.collect.library.data.entity.TaskBean import com.navinfo.collect.library.data.entity.TaskBean
import com.navinfo.collect.library.utils.GeometryTools import com.navinfo.collect.library.utils.GeometryTools
@ -27,6 +30,8 @@ import com.navinfo.omqs.util.DateTimeUtil
import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.lifecycle.HiltViewModel
import io.realm.Realm import io.realm.Realm
import io.realm.RealmConfiguration import io.realm.RealmConfiguration
import io.realm.RealmMigration
import io.realm.RealmSchema
import kotlinx.coroutines.* import kotlinx.coroutines.*
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException
@ -432,7 +437,8 @@ class LoginViewModel @Inject constructor(
.name("OMQS.realm") .name("OMQS.realm")
.encryptionKey(Constant.PASSWORD) .encryptionKey(Constant.PASSWORD)
// .allowQueriesOnUiThread(true) // .allowQueriesOnUiThread(true)
.schemaVersion(2) .schemaVersion(3)
// .migration(migration)
.build() .build()
Realm.setDefaultConfiguration(config) Realm.setDefaultConfiguration(config)
// 拷贝配置文件到用户目录下 // 拷贝配置文件到用户目录下
@ -458,4 +464,17 @@ class LoginViewModel @Inject constructor(
private fun byteArrayToHexString(byteArray: ByteArray): String { private fun byteArrayToHexString(byteArray: ByteArray): String {
return byteArray.joinToString("") { "%02x".format(it) } return byteArray.joinToString("") { "%02x".format(it) }
} }
val migration : RealmMigration = RealmMigration {
realm, oldVersion, newVersion -> {
if (oldVersion == 2L && newVersion == 3L) {
// DynamicRealm exposes an editable schema
val schema: RealmSchema = realm.schema
if (!schema.get("RenderEntity")!!.hasField("linkPid")) {
schema.get("RenderEntity")
?.addField("linkPid", String::class.java)
}
}
}
}
} }

View File

@ -852,8 +852,12 @@ class MainViewModel @Inject constructor(
val newLineString = GeometryTools.createLineString(linePoints) val newLineString = GeometryTools.createLineString(linePoints)
linkId?.let { linkId?.let {
val time = System.currentTimeMillis()
val elementList = realmOperateHelper.queryLinkByLinkPid(realm, it) val elementList = realmOperateHelper.queryLinkByLinkPid(realm, it)
Log.e("jingo", "捕捉到数据 ${elementList.size}") Log.e(
"jingo",
"捕捉到数据 ${elementList.size}${System.currentTimeMillis() - time}"
)
for (element in elementList) { for (element in elementList) {
if (element.code == DataCodeEnum.OMDB_LINK_NAME.code) { if (element.code == DataCodeEnum.OMDB_LINK_NAME.code) {
hisRoadName = true hisRoadName = true

View File

@ -182,7 +182,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
// 定位到指定位置 // 定位到指定位置
niMapController.mMapView.vtmMap.animator() niMapController.mMapView.vtmMap.animator()
// .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 )) // .animateTo(GeoPoint( 40.05108004733645, 116.29187746293708 ))
.animateTo(GeoPoint(40.07245537956604, 116.239638575623)) .animateTo(GeoPoint(40.0882756, 116.3033581))
} }
R.id.personal_center_menu_open_all_layer -> { R.id.personal_center_menu_open_all_layer -> {

View File

@ -0,0 +1,36 @@
package com.navinfo.collect.library.data.entity
import android.os.Parcelable
import com.navinfo.collect.library.system.Constant
import com.navinfo.collect.library.utils.GeometryTools
import com.navinfo.collect.library.utils.GeometryToolsKt
import io.realm.RealmDictionary
import io.realm.RealmObject
import io.realm.RealmSet
import io.realm.annotations.Ignore
import io.realm.annotations.Index
import io.realm.annotations.PrimaryKey
import kotlinx.parcelize.Parcelize
import org.locationtech.jts.geom.Coordinate
import org.locationtech.jts.geom.Geometry
import org.oscim.core.MercatorProjection
import java.util.*
/**
* 渲染要素对应的实体
* */
@Parcelize
open class LinkRelation() : RealmObject(), Parcelable {
@PrimaryKey
var linkPid:String = UUID.randomUUID().toString()
@Index
var sNodeId: String? = null
@Index
var eNodeId: String? = null
var direct: Int = 0
constructor(direct: Int) : this() {
this.direct = direct
}
}

View File

@ -8,6 +8,7 @@ import io.realm.RealmDictionary
import io.realm.RealmObject import io.realm.RealmObject
import io.realm.RealmSet import io.realm.RealmSet
import io.realm.annotations.Ignore import io.realm.annotations.Ignore
import io.realm.annotations.Index
import io.realm.annotations.PrimaryKey import io.realm.annotations.PrimaryKey
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import org.locationtech.jts.geom.Coordinate import org.locationtech.jts.geom.Coordinate
@ -64,7 +65,9 @@ open class RenderEntity() : RealmObject(), Parcelable {
return field return field
} }
var properties: RealmDictionary<String> = RealmDictionary() var properties: RealmDictionary<String> = RealmDictionary()
@Ignore
var tileX: RealmSet<Int> = RealmSet() // x方向的tile编码 var tileX: RealmSet<Int> = RealmSet() // x方向的tile编码
@Ignore
var tileY: RealmSet<Int> = RealmSet() // y方向的tile编码 var tileY: RealmSet<Int> = RealmSet() // y方向的tile编码
var tileXMin:Int =0 var tileXMin:Int =0
var tileXMax:Int = 0 var tileXMax:Int = 0
@ -75,6 +78,9 @@ open class RenderEntity() : RealmObject(), Parcelable {
var zoomMax: Int = 23 //显示最大级别 var zoomMax: Int = 23 //显示最大级别
var enable:Int = 0 // 默认0不是显示 1为渲染显示 2为常显 var enable:Int = 0 // 默认0不是显示 1为渲染显示 2为常显
var catchEnable:Int = 0 // 0不捕捉 1捕捉 var catchEnable:Int = 0 // 0不捕捉 1捕捉
@Index
lateinit var linkPid: String // RenderEntity关联的linkPid集合(可能会关联多个)
var linkRelation: LinkRelation? = null
constructor(name: String) : this() { constructor(name: String) : this() {
this.name = name this.name = name

View File

@ -1,10 +1,7 @@
package com.navinfo.collect.library.map.source; package com.navinfo.collect.library.map.source;
import com.navinfo.collect.library.system.Constant;
import org.oscim.map.Viewport; import org.oscim.map.Viewport;
import org.oscim.tiling.ITileDataSource; import org.oscim.tiling.ITileDataSource;
import org.oscim.tiling.OverzoomTileDataSource;
public class OMDBReferenceTileSource extends RealmDBTileSource { public class OMDBReferenceTileSource extends RealmDBTileSource {
private OMDBReferenceDataSource omdbReferenceTileSource; private OMDBReferenceDataSource omdbReferenceTileSource;
@ -18,7 +15,8 @@ public class OMDBReferenceTileSource extends RealmDBTileSource {
@Override @Override
public ITileDataSource getDataSource() { public ITileDataSource getDataSource() {
//return new OverzoomTileDataSource(new OMDBReferenceDataSource(), Constant.OVER_ZOOM); //return new OverzoomTileDataSource(new OMDBReferenceDataSource(), Constant.OVER_ZOOM);
return new OverzoomTileDataSource(omdbReferenceTileSource, Constant.OVER_ZOOM); // return new OverzoomTileDataSource(omdbReferenceTileSource, Constant.OVER_ZOOM);
return omdbReferenceTileSource;
} }
@Override @Override

View File

@ -3,11 +3,9 @@ package com.navinfo.collect.library.map.source;
import android.util.Log; import android.util.Log;
import com.navinfo.collect.library.data.entity.RenderEntity; import com.navinfo.collect.library.data.entity.RenderEntity;
import com.navinfo.collect.library.system.Constant;
import org.oscim.map.Viewport; import org.oscim.map.Viewport;
import org.oscim.tiling.ITileDataSource; import org.oscim.tiling.ITileDataSource;
import org.oscim.tiling.OverzoomTileDataSource;
import io.realm.Realm; import io.realm.Realm;
@ -23,7 +21,8 @@ public class OMDBTileSource extends RealmDBTileSource {
@Override @Override
public ITileDataSource getDataSource() { public ITileDataSource getDataSource() {
// return new OverzoomTileDataSource(new OMDBTileDataSource(), Constant.OVER_ZOOM); // return new OverzoomTileDataSource(new OMDBTileDataSource(), Constant.OVER_ZOOM);
return new OverzoomTileDataSource(omdbTileDataSource, Constant.OVER_ZOOM); // return new OverzoomTileDataSource(omdbTileDataSource, Constant.OVER_ZOOM);
return omdbTileDataSource;
} }
@Override @Override

2
vtm

@ -1 +1 @@
Subproject commit c046e788f5c739612a31c308639fca2de639669a Subproject commit 6a6bb9ab5eaf6bb4c05b3110c612c32ef4c6ef3d