Merge branch 'master' of gitlab.navinfo.com:CollectVehicle/OneMapQS
@ -5,42 +5,42 @@
|
||||
"code": 1012,
|
||||
"name": "检查点",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 19
|
||||
"zoomMax": 22
|
||||
},
|
||||
"2001": {
|
||||
"table": "OMDB_RD_LINK",
|
||||
"code": 2001,
|
||||
"name": "道路线",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 17
|
||||
"zoomMax": 22
|
||||
},
|
||||
"2002": {
|
||||
"table": "OMDB_RD_LINK_FUNCTION_CLASS",
|
||||
"code": 2002,
|
||||
"name": "道路功能等级",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 17
|
||||
"zoomMax": 22
|
||||
},
|
||||
"2008": {
|
||||
"table": "OMDB_RD_LINK_KIND",
|
||||
"code": 2008,
|
||||
"name": "道路种别",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 17
|
||||
"zoomMax": 22
|
||||
},
|
||||
"2010": {
|
||||
"table": "OMDB_LINK_DIRECT",
|
||||
"code": 2010,
|
||||
"name": "道路方向",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 17
|
||||
"zoomMax": 22
|
||||
},
|
||||
"2011": {
|
||||
"table": "OMDB_LINK_NAME",
|
||||
"code": 2011,
|
||||
"name": "道路名",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 17,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
@ -54,8 +54,8 @@
|
||||
"table": "OMDB_LANE_MARK_BOUNDARYTYPE",
|
||||
"code": 2013,
|
||||
"name": "车道边界类型",
|
||||
"zoomMin": 18,
|
||||
"zoomMax": 21,
|
||||
"zoomMin": 19,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
@ -70,21 +70,21 @@
|
||||
"code": 2019,
|
||||
"name": "常规线限速",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 17
|
||||
"zoomMax": 22
|
||||
},
|
||||
"2020": {
|
||||
"table": "OMDB_LINK_SPEEDLIMIT_COND",
|
||||
"code": 2020,
|
||||
"name": "条件线限速",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 17
|
||||
"zoomMax": 22
|
||||
},
|
||||
"2021": {
|
||||
"table": "OMDB_LINK_SPEEDLIMIT_VAR",
|
||||
"code": 2021,
|
||||
"name": "可变线限速",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 17
|
||||
"zoomMax": 22
|
||||
},
|
||||
"2022": {
|
||||
"table": "OMDB_CON_ACCESS",
|
||||
@ -110,8 +110,8 @@
|
||||
"table": "OMDB_RDBOUND_BOUNDARYTYPE",
|
||||
"code": 2083,
|
||||
"name": "道路边界类型",
|
||||
"zoomMin": 18,
|
||||
"zoomMax": 21
|
||||
"zoomMin": 19,
|
||||
"zoomMax": 22
|
||||
},
|
||||
"2201":{
|
||||
"table": "OMDB_BRIDGE",
|
||||
@ -123,7 +123,7 @@
|
||||
"code": 2202,
|
||||
"name": "隧道",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 21,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
@ -138,7 +138,7 @@
|
||||
"code": 4001,
|
||||
"name": "路口",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 17,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
@ -153,7 +153,7 @@
|
||||
"code": 4002,
|
||||
"name": "常规点限速",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 21,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "maxSpeed",
|
||||
@ -174,7 +174,7 @@
|
||||
"code": 4003,
|
||||
"name": "条件点限速",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 21,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "maxSpeed",
|
||||
@ -189,7 +189,7 @@
|
||||
"code": 4004,
|
||||
"name": "可变点限速",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 21,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "location",
|
||||
@ -216,7 +216,7 @@
|
||||
"code": 4006,
|
||||
"name": "普通交限",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 21,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
@ -255,7 +255,7 @@
|
||||
"code": 4010,
|
||||
"name": "电子眼",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 21,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
@ -273,7 +273,7 @@
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateDirectReferenceLine(direct=3)"
|
||||
"vlib": "generateDirectReferenceLine()"
|
||||
},
|
||||
{
|
||||
"k": "geometry",
|
||||
@ -288,7 +288,7 @@
|
||||
"code": 4022,
|
||||
"name": "交通灯",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 21,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
]
|
||||
},
|
||||
@ -297,7 +297,7 @@
|
||||
"code": 4601,
|
||||
"name": "车信",
|
||||
"zoomMin": 16,
|
||||
"zoomMax": 17,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
@ -323,8 +323,8 @@
|
||||
"table": "OMDB_LANE_LINK_LG",
|
||||
"code": 5001,
|
||||
"name": "车道中心线",
|
||||
"zoomMin": 18,
|
||||
"zoomMax": 21,
|
||||
"zoomMin": 19,
|
||||
"zoomMax": 22,
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
@ -338,6 +338,37 @@
|
||||
"table": "OMDB_AREA",
|
||||
"code": 5002,
|
||||
"name": "面测试"
|
||||
},
|
||||
"3005":{
|
||||
"table": "OMDB_TRAFFIC_SIGN",
|
||||
"code": 3005,
|
||||
"name": "交通标牌",
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "normalizationTrafficSignHeight()"
|
||||
},{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "generateDirectReferenceLine('', 0.2)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"3006":{
|
||||
"table": "OMDB_POLE",
|
||||
"code": 3006,
|
||||
"name": "杆状物",
|
||||
"transformer": [
|
||||
{
|
||||
"k": "geometry",
|
||||
"v": "~",
|
||||
"klib": "geometry",
|
||||
"vlib": "normalizationPoleHeight()"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -67,7 +67,7 @@ class Constant {
|
||||
/**
|
||||
* 地图最多缩放级别23
|
||||
*/
|
||||
const val MAX_ZOOM = 23
|
||||
const val MAX_ZOOM = 22
|
||||
|
||||
/**
|
||||
* 是否自动定位
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.navinfo.omqs.bean
|
||||
|
||||
import com.google.gson.annotations.Expose
|
||||
import com.navinfo.collect.library.data.entity.RenderEntity
|
||||
import com.navinfo.omqs.db.ImportPreProcess
|
||||
import kotlin.reflect.KFunction
|
||||
@ -8,8 +9,11 @@ import kotlin.reflect.full.declaredMemberFunctions
|
||||
|
||||
|
||||
class ImportConfig {
|
||||
@Expose
|
||||
var tableMap: MutableMap<String, TableInfo> = mutableMapOf()
|
||||
@Expose
|
||||
val tableGroupName: String = "OMDB数据"
|
||||
@Expose
|
||||
var checked : Boolean = true
|
||||
val preProcess: ImportPreProcess = ImportPreProcess()
|
||||
|
||||
|
@ -150,11 +150,11 @@ class ImportOMDBHelper @AssistedInject constructor(
|
||||
if (list != null) {
|
||||
// 将list数据转换为map
|
||||
for ((index, line) in list.withIndex()) {
|
||||
Log.d("ImportOMDBHelper", "解析第:${index + 1}行")
|
||||
val map = gson.fromJson<Map<String, Any>>(
|
||||
line,
|
||||
object : TypeToken<Map<String, Any>>() {}.getType()
|
||||
)
|
||||
if (line == null || line.trim() == "") {
|
||||
continue
|
||||
}
|
||||
Log.d("ImportOMDBHelper", "解析第:${index+1}行")
|
||||
val map = gson.fromJson<Map<String, Any>>(line, object:TypeToken<Map<String, Any>>(){}.getType())
|
||||
.toMutableMap()
|
||||
map["qi_table"] = currentConfig.table
|
||||
map["qi_name"] = currentConfig.name
|
||||
|
@ -10,7 +10,9 @@ import org.json.JSONObject
|
||||
import org.locationtech.jts.algorithm.Angle
|
||||
import org.locationtech.jts.geom.Coordinate
|
||||
import org.locationtech.jts.geom.Geometry
|
||||
import org.locationtech.jts.io.WKTWriter
|
||||
import org.oscim.core.GeoPoint
|
||||
import kotlin.math.min
|
||||
|
||||
|
||||
class ImportPreProcess {
|
||||
@ -27,9 +29,9 @@ class ImportPreProcess {
|
||||
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
|
||||
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
|
||||
}
|
||||
@ -105,9 +107,9 @@ class ImportPreProcess {
|
||||
var point = Coordinate(geometry?.coordinate)
|
||||
if (Geometry.TYPENAME_POINT == geometry?.geometryType) {
|
||||
var angle = if(renderEntity?.properties?.get("angle") == null) 0.0 else renderEntity?.properties?.get("angle")?.toDouble()!!
|
||||
if (isReverse) {
|
||||
angle += 180
|
||||
}
|
||||
// if (isReverse) {
|
||||
// angle += 180
|
||||
// }
|
||||
// angle角度为与正北方向的顺时针夹角,将其转换为与X轴正方向的逆时针夹角,即为正东方向的夹角
|
||||
angle=(450-angle)%360
|
||||
radian = Math.toRadians(angle)
|
||||
@ -124,8 +126,8 @@ class ImportPreProcess {
|
||||
}
|
||||
|
||||
// 计算偏移距离
|
||||
val dx: Double = GeometryTools.convertDistanceToDegree(3.0, geometry?.coordinate?.y!!) * Math.cos(radian)
|
||||
val dy: Double = GeometryTools.convertDistanceToDegree(3.0, geometry?.coordinate?.y!!) * Math.sin(radian)
|
||||
val dx: Double = GeometryTools.convertDistanceToDegree(defaultTranslateDistance, geometry?.coordinate?.y!!) * Math.cos(radian)
|
||||
val dy: Double = GeometryTools.convertDistanceToDegree(defaultTranslateDistance, geometry?.coordinate?.y!!) * Math.sin(radian)
|
||||
|
||||
// 计算偏移后的点
|
||||
val coord =
|
||||
@ -144,8 +146,14 @@ class ImportPreProcess {
|
||||
val translateGeometry = renderEntity.wkt
|
||||
val startGeometry = GeometryTools.createGeometry(renderEntity.properties["geometry"])
|
||||
|
||||
val pointEnd = translateGeometry!!.coordinates[translateGeometry.numPoints-1] // 获取这个geometry对应的结束点坐标
|
||||
val pointStart = startGeometry!!.coordinates[startGeometry.numPoints-1] // 获取这个geometry对应的结束点坐标
|
||||
var pointEnd = translateGeometry!!.coordinates[translateGeometry.numPoints-1] // 获取这个geometry对应的结束点坐标
|
||||
var pointStart = startGeometry!!.coordinates[startGeometry.numPoints-1] // 获取这个geometry对应的结束点坐标
|
||||
if (translateGeometry.geometryType == Geometry.TYPENAME_LINESTRING) { // 如果是线数据,则取倒数第二个点作为偏移的起止点
|
||||
pointEnd = translateGeometry!!.coordinates[translateGeometry.numPoints-2] // 获取这个geometry对应的结束点坐标
|
||||
}
|
||||
if (startGeometry.geometryType == Geometry.TYPENAME_LINESTRING) { // 如果是线数据,则取倒数第二个点作为偏移的起止点
|
||||
pointStart = startGeometry!!.coordinates[startGeometry.numPoints-2] // 获取这个geometry对应的结束点坐标
|
||||
}
|
||||
|
||||
// 将这个起终点的线记录在数据中
|
||||
val startEndReference = ReferenceEntity()
|
||||
@ -202,24 +210,22 @@ class ImportPreProcess {
|
||||
/**
|
||||
* 生成与对应方向相同的方向线,用以绘制方向箭头
|
||||
* */
|
||||
fun generateDirectReferenceLine(renderEntity: RenderEntity, direction: String = "") {
|
||||
fun generateDirectReferenceLine(renderEntity: RenderEntity, direction: String = "", distance: String = "") {
|
||||
// 根据数据或angle计算方向对应的角度和偏移量
|
||||
val geometry = renderEntity.wkt
|
||||
var isReverse = false // 是否为逆向
|
||||
if (direction.isNotEmpty()) {
|
||||
val paramDirections = direction.split("=")
|
||||
if (paramDirections.size>=2 && renderEntity.properties[paramDirections[0].trim()] == paramDirections[1].trim()) {
|
||||
isReverse = true;
|
||||
isReverse = true
|
||||
}
|
||||
}
|
||||
var radian = 0.0 // geometry的角度,如果是点,获取angle,如果是线,获取最后两个点的方向
|
||||
var point = Coordinate(geometry?.coordinate)
|
||||
var pointStartArray = mutableListOf<Coordinate>()
|
||||
if (Geometry.TYPENAME_POINT == geometry?.geometryType) {
|
||||
point = Coordinate(geometry?.coordinate)
|
||||
val point = Coordinate(geometry?.coordinate)
|
||||
pointStartArray.add(point)
|
||||
var angle = if(renderEntity?.properties?.get("angle") == null) 0.0 else renderEntity?.properties?.get("angle")?.toDouble()!!
|
||||
if (isReverse) {
|
||||
angle += 180
|
||||
}
|
||||
// angle角度为与正北方向的顺时针夹角,将其转换为与X轴正方向的逆时针夹角,即为正东方向的夹角
|
||||
angle=(450-angle)%360
|
||||
radian = Math.toRadians(angle)
|
||||
@ -232,27 +238,48 @@ class ImportPreProcess {
|
||||
val p2: Coordinate = coordinates.get(coordinates.size - 1)
|
||||
// 计算线段的方向
|
||||
radian = Angle.angle(p1, p2)
|
||||
point = p2
|
||||
pointStartArray.add(p1)
|
||||
} else if (Geometry.TYPENAME_POLYGON == geometry?.geometryType) {
|
||||
// 记录下面数据的每一个点位
|
||||
pointStartArray.addAll(geometry.coordinates)
|
||||
// 获取当前的面数据对应的方向信息
|
||||
var angle = if(renderEntity?.properties?.get("angle") == null) {
|
||||
if (renderEntity?.properties?.get("heading") == null) {
|
||||
0.0
|
||||
} else {
|
||||
renderEntity?.properties?.get("heading")?.toDouble()!!
|
||||
}
|
||||
} else renderEntity?.properties?.get("angle")?.toDouble()!!
|
||||
|
||||
angle=(450-angle)%360
|
||||
radian = Math.toRadians(angle)
|
||||
}
|
||||
|
||||
// 计算偏移距离
|
||||
val dx: Double = GeometryTools.convertDistanceToDegree(3.0, geometry?.coordinate?.y!!) * Math.cos(radian)
|
||||
val dy: Double = GeometryTools.convertDistanceToDegree(3.0, geometry?.coordinate?.y!!) * Math.sin(radian)
|
||||
var dx: Double = GeometryTools.convertDistanceToDegree(defaultTranslateDistance, geometry?.coordinate?.y!!) * Math.cos(radian)
|
||||
var dy: Double = GeometryTools.convertDistanceToDegree(defaultTranslateDistance, geometry?.coordinate?.y!!) * Math.sin(radian)
|
||||
if (distance.isNotEmpty()) {
|
||||
dx = GeometryTools.convertDistanceToDegree(distance.toDouble(), geometry?.coordinate?.y!!) * Math.cos(radian)
|
||||
dy = GeometryTools.convertDistanceToDegree(distance.toDouble(), geometry?.coordinate?.y!!) * Math.sin(radian)
|
||||
}
|
||||
|
||||
val coorEnd = Coordinate(point.getX() + dx, point.getY() + dy)
|
||||
for (pointStart in pointStartArray) {
|
||||
val coorEnd = Coordinate(pointStart.getX() + dx, pointStart.getY() + dy, pointStart.z)
|
||||
|
||||
val angleReference = ReferenceEntity()
|
||||
angleReference.renderEntityId = renderEntity.id
|
||||
angleReference.name = "${renderEntity.name}参考方向"
|
||||
angleReference.table = renderEntity.table
|
||||
angleReference.zoomMin = renderEntity.zoomMin
|
||||
angleReference.zoomMax = renderEntity.zoomMax
|
||||
angleReference.taskId = renderEntity.taskId
|
||||
// 与原有方向指向平行的线
|
||||
angleReference.geometry = WKTWriter(3).write(GeometryTools.createLineString(arrayOf(pointStart, coorEnd)))
|
||||
angleReference.properties["qi_table"] = renderEntity.table
|
||||
angleReference.properties["type"] = "angle"
|
||||
Realm.getDefaultInstance().insert(angleReference)
|
||||
}
|
||||
|
||||
val angleReference = ReferenceEntity()
|
||||
angleReference.renderEntityId = renderEntity.id
|
||||
angleReference.name = "${renderEntity.name}参考方向"
|
||||
angleReference.table = renderEntity.table
|
||||
angleReference.zoomMin = renderEntity.zoomMin
|
||||
angleReference.zoomMax = renderEntity.zoomMax
|
||||
angleReference.taskId = renderEntity.taskId
|
||||
// 与原有方向指向平行的线
|
||||
angleReference.geometry = GeometryTools.createLineString(arrayOf(point, coorEnd)).toString()
|
||||
angleReference.properties["qi_table"] = renderEntity.table
|
||||
angleReference.properties["type"] = "angle"
|
||||
Realm.getDefaultInstance().insert(angleReference)
|
||||
}
|
||||
|
||||
fun addAngleFromGeometry(renderEntity: RenderEntity): String {
|
||||
@ -322,10 +349,6 @@ class ImportPreProcess {
|
||||
referenceEntity.renderEntityId = renderEntity.id
|
||||
referenceEntity.name = "${renderEntity.name}参考方向"
|
||||
referenceEntity.table = renderEntity.table
|
||||
referenceEntity.zoomMin = renderEntity.zoomMin
|
||||
referenceEntity.zoomMax = renderEntity.zoomMax
|
||||
referenceEntity.taskId = renderEntity.taskId
|
||||
|
||||
// 与原数据使用相同的geometry
|
||||
referenceEntity.geometry = renderEntity.geometry.toString()
|
||||
referenceEntity.properties["qi_table"] = renderEntity.table
|
||||
@ -339,6 +362,7 @@ class ImportPreProcess {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 生成默认道路名数据
|
||||
* */
|
||||
@ -425,4 +449,60 @@ class ImportPreProcess {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理杆状物的高程数据
|
||||
* */
|
||||
fun normalizationPoleHeight(renderEntity: RenderEntity) {
|
||||
// 获取杆状物的高程数据
|
||||
val geometry = renderEntity.wkt
|
||||
if (geometry!=null) {
|
||||
var minHeight=Double.MAX_VALUE
|
||||
var maxHeight=Double.MIN_VALUE
|
||||
for (coordinate in geometry.coordinates) {
|
||||
if (coordinate.z<minHeight) {
|
||||
minHeight = coordinate.z
|
||||
}
|
||||
if (coordinate.z>maxHeight) {
|
||||
maxHeight = coordinate.z
|
||||
}
|
||||
}
|
||||
for (coordinate in geometry.coordinates) {
|
||||
if (coordinate.z == minHeight) {
|
||||
coordinate.z = 0.0
|
||||
}
|
||||
if (coordinate.z == maxHeight) {
|
||||
coordinate.z = 40.0
|
||||
}
|
||||
}
|
||||
renderEntity.geometry = WKTWriter(3).write(GeometryTools.createLineString(geometry.coordinates))
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理交通标牌的高程数据
|
||||
* */
|
||||
fun normalizationTrafficSignHeight(renderEntity: RenderEntity) {
|
||||
// 获取交通标牌的高程数据
|
||||
val geometry = renderEntity.wkt
|
||||
if (geometry!=null) {
|
||||
// 获取所有的高程信息,计算高程的中位数,方便对高程做定制化处理
|
||||
var midHeight=0.0
|
||||
var countHeight = 0.0
|
||||
for (coordinate in geometry.coordinates) {
|
||||
countHeight+=coordinate.z
|
||||
}
|
||||
midHeight = countHeight/geometry.coordinates.size
|
||||
|
||||
// 对高程数据做特殊处理
|
||||
for (coordinate in geometry.coordinates) {
|
||||
if (coordinate.z>=midHeight) {
|
||||
coordinate.z = 40.0
|
||||
} else {
|
||||
coordinate.z = 30.0
|
||||
}
|
||||
}
|
||||
renderEntity.geometry = WKTWriter(3).write(GeometryTools.getPolygonGeometry(geometry.coordinates))
|
||||
}
|
||||
}
|
||||
}
|
@ -164,7 +164,7 @@ class TaskUploadScope(
|
||||
|
||||
val objects = realm.where(QsRecordBean::class.java)
|
||||
.equalTo("linkId", /*"84207223282277331"*/hadLinkDvoBean.linkPid).and()
|
||||
.equalTo("taskId", hadLinkDvoBean.taskId).findAll()
|
||||
.equalTo("taskId", taskBean.id).findAll()
|
||||
|
||||
if (objects != null && objects.size > 0) {
|
||||
val copyList = realm.copyFromRealm(objects)
|
||||
@ -241,7 +241,7 @@ class TaskUploadScope(
|
||||
change(FileUploadStatus.ERROR)
|
||||
}
|
||||
} else {
|
||||
change(FileUploadStatus.NONE)
|
||||
change(FileUploadStatus.NONE,"无可上传数据")
|
||||
}
|
||||
} catch (e: Throwable) {
|
||||
change(FileUploadStatus.ERROR)
|
||||
|
@ -465,7 +465,7 @@ class MainActivity : BaseActivity() {
|
||||
if (leftFragment != null) {
|
||||
supportFragmentManager.beginTransaction().remove(leftFragment!!).commit()
|
||||
leftFragment = null
|
||||
binding.mainActivityBottomSheetGroup.visibility = View.GONE
|
||||
hideMainActivityBottomSheetGroup()
|
||||
binding.mainActivityLeftFragment.visibility = View.GONE
|
||||
}
|
||||
// binding.mainActivityDrawer.open()
|
||||
@ -767,19 +767,10 @@ class MainActivity : BaseActivity() {
|
||||
binding.mainActivityLeftFragment.visibility = View.GONE
|
||||
}
|
||||
|
||||
binding.mainActivityBottomSheetGroup.visibility = View.GONE
|
||||
|
||||
mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 128, 5)
|
||||
hideMainActivityBottomSheetGroup()
|
||||
} else {
|
||||
binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
|
||||
mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 128, 65)
|
||||
showMainActivityBottomSheetGroup()
|
||||
}
|
||||
mapController.mMapView.vtmMap.animator().animateTo(
|
||||
GeoPoint(
|
||||
mapController.mMapView.vtmMap.mapPosition.geoPoint.latitude,
|
||||
mapController.mMapView.vtmMap.mapPosition.geoPoint.longitude
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private fun voiceOnTouchStart() {
|
||||
@ -800,7 +791,7 @@ class MainActivity : BaseActivity() {
|
||||
fun onClickTaskFragment() {
|
||||
if (leftFragment !is TaskManagerFragment) {
|
||||
if (leftFragment == null) {
|
||||
binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
|
||||
showMainActivityBottomSheetGroup()
|
||||
binding.mainActivityLeftFragment.visibility = View.VISIBLE
|
||||
}
|
||||
leftFragment = TaskManagerFragment {
|
||||
@ -820,7 +811,7 @@ class MainActivity : BaseActivity() {
|
||||
fun onClickResFragment() {
|
||||
if (leftFragment !is QsRecordListFragment) {
|
||||
if (leftFragment == null) {
|
||||
binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
|
||||
showMainActivityBottomSheetGroup()
|
||||
binding.mainActivityLeftFragment.visibility = View.VISIBLE
|
||||
}
|
||||
leftFragment = QsRecordListFragment {
|
||||
@ -834,6 +825,28 @@ class MainActivity : BaseActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun showMainActivityBottomSheetGroup(){
|
||||
binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
|
||||
mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 128, 65)
|
||||
mapController.mMapView.vtmMap.animator().animateTo(
|
||||
GeoPoint(
|
||||
mapController.mMapView.vtmMap.mapPosition.geoPoint.latitude,
|
||||
mapController.mMapView.vtmMap.mapPosition.geoPoint.longitude
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private fun hideMainActivityBottomSheetGroup(){
|
||||
binding.mainActivityBottomSheetGroup.visibility = View.GONE
|
||||
mapController.mMapView.setScaleBarLayer(GLViewport.Position.BOTTOM_CENTER, 128, 5)
|
||||
mapController.mMapView.vtmMap.animator().animateTo(
|
||||
GeoPoint(
|
||||
mapController.mMapView.vtmMap.mapPosition.geoPoint.latitude,
|
||||
mapController.mMapView.vtmMap.mapPosition.geoPoint.longitude
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示轨迹回放布局
|
||||
*/
|
||||
@ -868,7 +881,7 @@ class MainActivity : BaseActivity() {
|
||||
fun onClickOfflineMapFragment() {
|
||||
if (leftFragment !is OfflineMapFragment) {
|
||||
if (leftFragment == null) {
|
||||
binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
|
||||
showMainActivityBottomSheetGroup()
|
||||
binding.mainActivityLeftFragment.visibility = View.VISIBLE
|
||||
}
|
||||
leftFragment = OfflineMapFragment {
|
||||
|
@ -126,7 +126,7 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit?
|
||||
//116.25017070328308 40.061730653134696
|
||||
// 定位到指定位置
|
||||
niMapController.mMapView.vtmMap.animator()
|
||||
.animateTo(GeoPoint( 40.061730653134696, 116.25017070328308))
|
||||
.animateTo(GeoPoint( 40.055878135289966, 116.3011588289057 ))
|
||||
}
|
||||
// R.id.personal_center_menu_task_list -> {
|
||||
// findNavController().navigate(R.id.TaskManagerFragment)
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.navinfo.omqs.ui.fragment.tasklist
|
||||
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import com.navinfo.collect.library.data.entity.HadLinkDvoBean
|
||||
@ -37,6 +38,11 @@ class TaskAdapter(
|
||||
val binding: AdapterTaskBinding =
|
||||
holder.viewBinding as AdapterTaskBinding
|
||||
val bean = data[position]
|
||||
if(bean.linkStatus==1){
|
||||
binding.taskHead.background = binding.root.context.getDrawable(R.drawable.selector_task_head)
|
||||
}else{
|
||||
binding.taskHead.background = binding.root.context.getDrawable(R.drawable.selector_task_head_add_link)
|
||||
}
|
||||
binding.taskLinkPid.text = "PID:${bean.linkPid}"
|
||||
binding.taskMesh.text = "mesh:${bean.mesh}"
|
||||
binding.root.isSelected = selectPosition == position
|
||||
|
BIN
app/src/main/res/drawable-xhdpi/icon_add_road_n.png
Normal file
After Width: | Height: | Size: 539 B |
BIN
app/src/main/res/drawable-xhdpi/icon_add_road_p.png
Normal file
After Width: | Height: | Size: 544 B |
BIN
app/src/main/res/drawable-xxhdpi/icon_add_road.png
Normal file
After Width: | Height: | Size: 950 B |
BIN
app/src/main/res/drawable-xxhdpi/icon_add_road_n.png
Normal file
After Width: | Height: | Size: 763 B |
BIN
app/src/main/res/drawable-xxhdpi/icon_add_road_p.png
Normal file
After Width: | Height: | Size: 798 B |
BIN
app/src/main/res/drawable-xxhdpi/icon_add_task_n.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
app/src/main/res/drawable-xxhdpi/icon_add_task_p.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/baseline_add_24_press" android:state_selected="true" />
|
||||
<item android:drawable="@drawable/baseline_add_24" android:state_selected="false" />
|
||||
<item android:drawable="@drawable/icon_add_road_p" android:state_selected="true" />
|
||||
<item android:drawable="@drawable/icon_add_road_n" android:state_selected="false" />
|
||||
</selector>
|
||||
|
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/icon_add_task_p" android:state_selected="true"></item>
|
||||
<item android:drawable="@drawable/icon_add_task_n" />
|
||||
</selector>
|
@ -154,7 +154,7 @@
|
||||
android:id="@+id/main_activity_task_line"
|
||||
style="@style/top_right_drawer_btns_style"
|
||||
android:onClick="@{()->mainActivity.onClickTaskLink()}"
|
||||
android:src="@drawable/icon_calc_disance" />
|
||||
android:src="@drawable/icon_add_road" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/main_activity_menu"
|
||||
|
@ -58,6 +58,7 @@
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="12dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/task_search" />
|
||||
app:layout_constraintTop_toBottomOf="@id/task_search"
|
||||
tools:ignore="MissingClass" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -17,7 +17,7 @@
|
||||
<item
|
||||
android:id="@+id/personal_center_menu_import_data"
|
||||
android:icon="@drawable/ic_baseline_import_export_24"
|
||||
android:visible="false"
|
||||
android:visible="true"
|
||||
android:title="导入数据" />
|
||||
<item
|
||||
android:id="@+id/personal_center_menu_import_yuan_data"
|
||||
@ -38,7 +38,7 @@
|
||||
<item
|
||||
android:id="@+id/personal_center_menu_version"
|
||||
android:icon="@drawable/ic_baseline_layers_24"
|
||||
android:title="版本:ONE_QE_V1.4.0_20230721_A" />
|
||||
android:title="版本:ONE_QE_V1.5.0_20230728_A" />
|
||||
</group>
|
||||
<group android:checkableBehavior="single">
|
||||
<item android:title="小标题">
|
||||
|
@ -144,6 +144,7 @@
|
||||
<xs:attribute name="blend" default="-1" type="xs:integer" use="optional"/>
|
||||
<xs:attribute name="blend-fill" default="#000000" type="tns:color" use="optional"/>
|
||||
<xs:attribute name="mesh" default="false" type="xs:boolean" use="optional"/>
|
||||
<xs:attribute name="repeat" default="true" type="xs:boolean" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="caption">
|
||||
|
@ -111,6 +111,8 @@
|
||||
<!-- src="assets:textures/water.png" -->
|
||||
<style-area fade="-1" fill="#99badf" id="water" />
|
||||
|
||||
<style-area fill="#3742fa" id="sign-bg" />
|
||||
|
||||
<!--###### LINE styles ######-->
|
||||
|
||||
<!-- base style for fixed width lines -->
|
||||
@ -1480,21 +1482,10 @@
|
||||
</m>
|
||||
|
||||
<m k="qi_table">
|
||||
|
||||
<!--车道数-->
|
||||
<m v="OMDB_LANE_NUM">
|
||||
</m>
|
||||
|
||||
<!-- 道路线 -->
|
||||
<m v="OMDB_RD_LINK">
|
||||
<!-- <m v="OMDB_RD_LINK">
|
||||
<line stroke="#9c9c9c" width="1" />
|
||||
</m>
|
||||
|
||||
<!-- 检查点 -->
|
||||
<m v="OMDB_CHECKPOINT">
|
||||
<symbol src="assets:omdb/icon_1012_0.svg" symbol-height="64"
|
||||
symbol-width="64"></symbol>
|
||||
</m>
|
||||
</m>-->
|
||||
|
||||
<!--道路种别-->
|
||||
<m v="OMDB_RD_LINK_KIND">
|
||||
@ -1529,151 +1520,6 @@
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--常规点限速-->
|
||||
<m v="OMDB_SPEEDLIMIT">
|
||||
<m k="speedFlag" v="0">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4002_0.svg" symbol-height="46"
|
||||
symbol-width="46"></symbol>
|
||||
</m>
|
||||
<m k="speedFlag" v="1">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4002_1.svg" symbol-height="46"
|
||||
symbol-width="46"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--条件点限速-->
|
||||
<m v="OMDB_SPEEDLIMIT_COND">
|
||||
<m k="speedFlag" v="0">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4003_0.svg" symbol-height="46"
|
||||
symbol-width="46"></symbol>
|
||||
</m>
|
||||
<m k="speedFlag" v="1">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4003_1.svg" symbol-height="46"
|
||||
symbol-width="46"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--可变点限速-->
|
||||
<m v="OMDB_SPEEDLIMIT_VAR" >
|
||||
<m k="speedFlag" v="0">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4004_0.svg" symbol-height="46"
|
||||
symbol-width="46"></symbol>
|
||||
</m>
|
||||
<m k="speedFlag" v="1">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4004_0.svg" symbol-height="46"
|
||||
symbol-width="46"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--车道中心线-->
|
||||
<m v="OMDB_LANE_LINK_LG">
|
||||
<m k="width" v="~">
|
||||
<line stroke="#7A88A0" width="5" />
|
||||
</m>
|
||||
</m>0
|
||||
|
||||
<!-- 道路边界类型 -->
|
||||
<m v="OMDB_RDBOUND_BOUNDARYTYPE">
|
||||
<outline-layer id="boundaryType" stroke="#8e44ad" width="0.1" />
|
||||
<m k="boundaryType" v="0|2|3|4|5|6|7|8|9">
|
||||
<line stroke="#ffffff" use="boundaryType" width="0.1"/>
|
||||
</m>
|
||||
<m k="boundaryType" v="1">
|
||||
<!--无标线无可区分边界-->
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#ffffff" width="0.2"/>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!-- 车道边界类型 -->
|
||||
<m v="OMDB_LANE_MARK_BOUNDARYTYPE">
|
||||
<outline-layer id="boundary" stroke="#ffffff" width="0.1" />
|
||||
<m k="boundaryType" v="2">
|
||||
<!--标线-->
|
||||
<m k="markType" v="0|1|4|5|6|7|8">
|
||||
<!--其他|实线-->
|
||||
<m k="markColor" v="1">
|
||||
<line stroke="#ffffff" use="boundaryType" />
|
||||
</m>
|
||||
<m k="markColor" v="2">
|
||||
<line stroke="#eccc68" use="boundaryType" />
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="6">
|
||||
<line stroke="#0000ff" use="boundaryType" />
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="7">
|
||||
<line stroke="#00ff00" use="boundaryType" />
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="0|9">
|
||||
<line stroke="#8e44ad" use="boundaryType" />
|
||||
</m>
|
||||
</m>
|
||||
<m k="markType" v="2|3">
|
||||
<!--其他|实线-->
|
||||
<m v="0|1|2|3|4|5|6|7|8">
|
||||
|
||||
<!--其他|实线-->
|
||||
<m k="markColor" v="1">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#ffffff" width="0.1"/>
|
||||
</m>
|
||||
<m k="markColor" v="2">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#eccc68" width="0.1"/>
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="6">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#0000ff" width="0.1"/>
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="7">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#00ff00" width="0.1"/>
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="0|9">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#8e44ad" width="0.1"/>
|
||||
</m>
|
||||
|
||||
</m>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<m k="boundaryType" v="0|3|4|5|6|7|8|9">
|
||||
<line stroke="#ffffff" use="boundaryType" />
|
||||
</m>
|
||||
<!--只区分虚线与实线-->
|
||||
<m k="boundaryType" v="1">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#ffffff" width="0.1"/>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--隧道-->
|
||||
<m v="OMDB_TUNNEL">
|
||||
<m k="formOfWay">
|
||||
<line dasharray="0.2,0.2" stroke="#d4237a" width="0.2" />
|
||||
</m>
|
||||
<m k="type" v="s_2_p">
|
||||
<symbol repeat="false" repeat-start="0" rotate="false"
|
||||
src="assets:omdb/icon_2202_0.svg" symbol-height="32" symbol-width="32"></symbol>
|
||||
</m>
|
||||
<m k="type" v="e_2_p">
|
||||
<symbol repeat="false" repeat-start="0" rotate="false"
|
||||
src="assets:omdb/icon_2202_1.svg" symbol-height="32" symbol-width="32"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--道路方向-->
|
||||
<m v="OMDB_LINK_DIRECT">
|
||||
<m k="direct">
|
||||
@ -1686,54 +1532,9 @@
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--交通灯-->
|
||||
<m v="OMDB_TRAFFICLIGHT">
|
||||
<symbol repeat="false" rotate="false" src="assets:omdb/icon_4022_0.svg"
|
||||
symbol-height="69" symbol-width="69"></symbol>
|
||||
</m>
|
||||
|
||||
<!--普通交限-->
|
||||
<m v="OMDB_RESTRICTION">
|
||||
<m k="angle">
|
||||
<symbol repeat="false" repeat-start="0" rotate="false"
|
||||
src="assets:omdb/icon_4006_0.svg" symbol-height="69" symbol-width="69"></symbol>
|
||||
</m>
|
||||
<m k="type" v="angle">
|
||||
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true"
|
||||
src="assets:omdb/icon_arrow_right.svg" symbol-height="76"
|
||||
symbol-width="76"></symbol>
|
||||
</m>
|
||||
<m k="type" v="s_2_e">
|
||||
<line use="s2e" />
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--电子眼-->
|
||||
<m v="OMDB_ELECTRONICEYE">
|
||||
<caption dy="-30" fill="#000000" k="name" priority="0" size="14"
|
||||
stroke="#ffffff" stroke-width="1.0"></caption>
|
||||
<m k="type" v="angle">
|
||||
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true"
|
||||
src="assets:omdb/icon_4010.svg" symbol-height="36" symbol-width="28"></symbol>
|
||||
</m>
|
||||
<m k="type" v="s_2_e">
|
||||
<line use="s2e" />
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!-- 路口 -->
|
||||
<m v="OMDB_INTERSECTION">
|
||||
<m k="type" v="node">
|
||||
<symbol src="assets:symbols/dot_blue_dark.svg"></symbol>
|
||||
</m>
|
||||
<m k="intersectionPid">
|
||||
<symbol src="assets:symbols/dot_magenta.svg"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!-- 道路名 -->
|
||||
<m v="OMDB_LINK_NAME">
|
||||
<text use="road"></text>
|
||||
<text use="road" size="16"></text>
|
||||
</m>
|
||||
|
||||
<!-- 车信 -->
|
||||
@ -2137,5 +1938,217 @@
|
||||
</m>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<m v="OMDB_POLE">
|
||||
<line stroke="#000000" width="2" cap="butt"></line>
|
||||
</m>
|
||||
|
||||
<m v="OMDB_TRAFFIC_SIGN">
|
||||
<area use="sign-bg" repeat="false" stroke="#ff0000" stroke-width="2"></area>
|
||||
<m k="type" v="angle">
|
||||
<line stroke="#00ff00" width="0.1"></line>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<m v="OMDB_AREA">
|
||||
<area use="sign-bg" repeat="true" src="assets:omdb/area_test.jpg" stroke="#ff0000" stroke-width="2"></area>
|
||||
</m>
|
||||
<!-- 路口 -->
|
||||
<m v="OMDB_INTERSECTION">
|
||||
<m k="type" v="node">
|
||||
<symbol src="assets:symbols/dot_blue_dark.svg"></symbol>
|
||||
</m>
|
||||
<m k="intersectionPid">
|
||||
<symbol src="assets:symbols/dot_magenta.svg"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--车道中心线-->
|
||||
<m v="OMDB_LANE_LINK_LG">
|
||||
<m k="width" v="~">
|
||||
<line stroke="#7A88A0" width="3.8" />
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--隧道-->
|
||||
<m v="OMDB_TUNNEL">
|
||||
<m k="formOfWay">
|
||||
<line dasharray="4,4" stroke="#4624FF" width="0.4" />
|
||||
</m>
|
||||
<m k="type" v="s_2_p">
|
||||
<symbol repeat="false" repeat-start="0" rotate="false"
|
||||
src="assets:omdb/icon_2202_0.svg" symbol-height="24" symbol-width="24"></symbol>
|
||||
</m>
|
||||
<m k="type" v="e_2_p">
|
||||
<symbol repeat="false" repeat-start="0" rotate="false"
|
||||
src="assets:omdb/icon_2202_1.svg" symbol-height="24" symbol-width="24"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!-- 检查点 -->
|
||||
<m v="OMDB_CHECKPOINT">
|
||||
<symbol src="assets:omdb/icon_1012_0.svg" symbol-height="56"
|
||||
symbol-width="56"></symbol>
|
||||
</m>
|
||||
|
||||
|
||||
<!-- 道路边界类型 -->
|
||||
<m v="OMDB_RDBOUND_BOUNDARYTYPE">
|
||||
<outline-layer id="boundaryType" stroke="#8e44ad" width="0.1" />
|
||||
<m k="boundaryType" v="0|2|3|4|5|6|7|8|9">
|
||||
<line stroke="#ffffff" use="boundaryType" width="0.1"/>
|
||||
</m>
|
||||
<m k="boundaryType" v="1">
|
||||
<!--无标线无可区分边界-->
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#ffffff" width="0.2"/>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!-- 车道边界类型 -->
|
||||
<m v="OMDB_LANE_MARK_BOUNDARYTYPE">
|
||||
<outline-layer id="boundary" stroke="#ffffff" width="0.1" />
|
||||
<m k="boundaryType" v="2">
|
||||
<!--标线-->
|
||||
<m k="markType" v="0|1|4|5|6|7|8">
|
||||
<!--其他|实线-->
|
||||
<m k="markColor" v="1">
|
||||
<line stroke="#ffffff" use="boundaryType" />
|
||||
</m>
|
||||
<m k="markColor" v="2">
|
||||
<line stroke="#eccc68" use="boundaryType" />
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="6">
|
||||
<line stroke="#0000ff" use="boundaryType" />
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="7">
|
||||
<line stroke="#00ff00" use="boundaryType" />
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="0|9">
|
||||
<line stroke="#8e44ad" use="boundaryType" />
|
||||
</m>
|
||||
</m>
|
||||
<m k="markType" v="2|3">
|
||||
<!--其他|实线-->
|
||||
<m v="0|1|2|3|4|5|6|7|8">
|
||||
|
||||
<!--其他|实线-->
|
||||
<m k="markColor" v="1">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#ffffff" width="0.1"/>
|
||||
</m>
|
||||
<m k="markColor" v="2">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#eccc68" width="0.1"/>
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="6">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#0000ff" width="0.1"/>
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="7">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#00ff00" width="0.1"/>
|
||||
</m>
|
||||
|
||||
<m k="markColor" v="0|9">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#8e44ad" width="0.1"/>
|
||||
</m>
|
||||
|
||||
</m>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<m k="boundaryType" v="0|3|4|5|6|7|8|9">
|
||||
<line stroke="#ffffff" use="boundaryType" />
|
||||
</m>
|
||||
<!--只区分虚线与实线-->
|
||||
<m k="boundaryType" v="1">
|
||||
<line dasharray="12,6" repeat-start="0" stroke="#ffffff" width="0.1"/>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--常规点限速-->
|
||||
<m v="OMDB_SPEEDLIMIT">
|
||||
<m k="speedFlag" v="0">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4002_0.svg" symbol-height="42"
|
||||
symbol-width="42"></symbol>
|
||||
</m>
|
||||
<m k="speedFlag" v="1">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4002_1.svg" symbol-height="42"
|
||||
symbol-width="42"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--条件点限速-->
|
||||
<m v="OMDB_SPEEDLIMIT_COND">
|
||||
<m k="speedFlag" v="0">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4003_0.svg" symbol-height="42"
|
||||
symbol-width="42"></symbol>
|
||||
</m>
|
||||
<m k="speedFlag" v="1">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4003_1.svg" symbol-height="42"
|
||||
symbol-width="42"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--可变点限速-->
|
||||
<m v="OMDB_SPEEDLIMIT_VAR" >
|
||||
<m k="speedFlag" v="0">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4004_0.svg" symbol-height="42"
|
||||
symbol-width="42"></symbol>
|
||||
</m>
|
||||
<m k="speedFlag" v="1">
|
||||
<caption fill="#000000" k="maxSpeed" priority="0" size="12" stroke="#ffffff"
|
||||
stroke-width="1.0"></caption>
|
||||
<symbol src="assets:omdb/icon_4004_0.svg" symbol-height="42"
|
||||
symbol-width="42"></symbol>
|
||||
</m>
|
||||
</m>
|
||||
|
||||
|
||||
<!--交通灯-->
|
||||
<m v="OMDB_TRAFFICLIGHT">
|
||||
<symbol repeat="false" rotate="false" src="assets:omdb/icon_4022_0.svg"
|
||||
symbol-height="56" symbol-width="56"></symbol>
|
||||
</m>
|
||||
|
||||
<!--普通交限-->
|
||||
<m v="OMDB_RESTRICTION">
|
||||
<m k="angle">
|
||||
<symbol repeat="false" repeat-start="0" rotate="false"
|
||||
src="assets:omdb/icon_4006_0.svg" symbol-height="56" symbol-width="56"></symbol>
|
||||
</m>
|
||||
<m k="type" v="angle">
|
||||
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true"
|
||||
src="assets:omdb/icon_arrow_right.svg" symbol-height="64"
|
||||
symbol-width="64"></symbol>
|
||||
</m>
|
||||
<m k="type" v="s_2_e">
|
||||
<line use="s2e" />
|
||||
</m>
|
||||
</m>
|
||||
|
||||
<!--电子眼-->
|
||||
<m v="OMDB_ELECTRONICEYE">
|
||||
<caption dy="-30" fill="#0000FF" k="name" priority="0" size="12"
|
||||
stroke="#ffffff" stroke-width="1.0"></caption>
|
||||
<m k="type" v="angle">
|
||||
<symbol repeat="false" repeat-gap="2000" repeat-start="0" rotate="true"
|
||||
src="assets:omdb/icon_4010.svg" symbol-height="24" symbol-width="18"></symbol>
|
||||
</m>
|
||||
<m k="type" v="s_2_e">
|
||||
<line use="s2e" />
|
||||
</m>
|
||||
</m>
|
||||
</m>
|
||||
</rendertheme>
|
1
collect-library/src/main/assets/omdb/1301_0_j.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="30" height="18" viewBox="0 0 30 18"><defs><style>.e{fill:none;}.f{fill:#2271ff;}</style></defs><g id="c"><g id="d"><path class="f" d="M25.1,7.7h-3.1l3.5,4.2h-7.4c.5-.4,1.1-1.3,1.5-2.1,.5-1,.4-3.3,.4-3.3V3.5l3.5,2.9V3.7L19.1,.1l-4.6,3.6v2.7l3.8-3.1v3.3s.3,1.9-.5,3c-.6,.9-1.5,1.8-2.1,2.2h-3c1.8-2.9,.8-8-3.2-7.9H3.8L6.9,.4h-2.1L.9,5l3.9,4.4h2.3l-3.2-3.5h5c3.6,0,3.5,5.7,0,5.9H.8v2.1H25.4l-3.1,3.8h2.9l4-4.9-4-5.1h0Z"/><rect class="e" width="30" height="18"/></g></g></svg>
|
After Width: | Height: | Size: 563 B |
1
collect-library/src/main/assets/omdb/1301_0_v.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="30" height="24" viewBox="0 0 30 24"><defs><style>.e{fill:none;}.f{fill:#2271ff;}</style></defs><g id="c"><g id="d"><path class="f" d="M19.3,20.2v-2.6l-3.5,2.9v-3s0-1.8-.4-2.9c-.3-.5-.7-1.2-1.1-1.7h6.4L26.5,3.4l1.5,4.6,1.5-2.3L27.5,.2l-5.7,.7-1.3,2.2,4.4-.6-5.2,8.4H1v2H11.1c.6,.1,1.6,.5,2.2,1.3,.8,1.1,.7,3,.7,3v3.3l-3.7-3.1v2.7l4.5,3.6,4.5-3.6h0Z"/><rect class="e" width="30" height="24"/></g></g></svg>
|
After Width: | Height: | Size: 496 B |
1
collect-library/src/main/assets/omdb/1301_1_j.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="30" height="18" viewBox="0 0 30 18"><defs><style>.d{fill:none;}.e{fill:#ffb400;}</style></defs><g id="c"><path class="e" d="M25.1,7.7h-3.1c0,0,3.5,4.2,3.5,4.2h-7.4c.5-.4,1.1-1.3,1.5-2.1,.5-1,.4-3.3,.4-3.3V3.5s3.5,2.9,3.5,2.9V3.7c0,0-4.4-3.6-4.4-3.6l-4.6,3.6v2.7c0,0,3.8-3.1,3.8-3.1v3.3s.3,1.9-.5,3c-.6,.9-1.5,1.8-2.1,2.2h-3c1.8-2.9,.8-8-3.2-7.9H3.8S6.9,.4,6.9,.4h-2.1c0,0-3.9,4.6-3.9,4.6l3.9,4.4h2.3s-3.2-3.5-3.2-3.5h5c3.6,.1,3.5,5.7,0,5.9h0s-8.1,0-8.1,0v2.1H25.4s-3.1,3.8-3.1,3.8h2.9c0,0,4-4.9,4-4.9l-4-5.1Z"/><rect class="d" width="30" height="18"/></g></svg>
|
After Width: | Height: | Size: 653 B |
1
collect-library/src/main/assets/omdb/1301_1_v.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg id="b" xmlns="http://www.w3.org/2000/svg" width="30" height="24" viewBox="0 0 30 24"><defs><style>.d{fill:none;}.e{fill:#ffb400;}</style></defs><g id="c"><path class="e" d="M19.3,20.2v-2.6c0,0-3.5,2.9-3.5,2.9v-3s0-1.8-.4-2.9c-.3-.5-.7-1.2-1.1-1.7h6.4s0,0,0,0L26.5,3.4l1.5,4.6,1.5-2.3L27.5,.2l-5.7,.7-1.3,2.2,4.4-.6-5.2,8.4H1s0,2,0,2H11.1c.6,.1,1.6,.5,2.2,1.3,.8,1.1,.7,3,.7,3v3.3s-3.7-3.1-3.7-3.1v2.7c0,0,4.5,3.6,4.5,3.6l4.5-3.6Z"/><rect class="d" width="30" height="24"/></g></svg>
|
After Width: | Height: | Size: 525 B |
@ -1 +1,43 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="136" height="136" viewBox="0 0 136 136"><defs><style>.a,.f{fill:#fff;}.a{opacity:0;}.b{fill:#ff5f4c;opacity:0.304;}.c{fill:#a74d4b;opacity:0.708;}.d{fill:url(#a);}.e{fill:url(#b);}.f{stroke:#db4646;stroke-width:3px;}.g{stroke:none;}.h{fill:none;}</style><radialGradient id="a" cx="0.21" cy="0.134" r="1.274" gradientTransform="matrix(0.849, 0.529, -0.307, 0.493, 0.073, -0.043)" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#ff9287"/><stop offset="0.786" stop-color="#ff5f4c"/><stop offset="1" stop-color="#ff5f4c"/></radialGradient><radialGradient id="b" cx="0.5" cy="0.5" r="0.5" gradientUnits="objectBoundingBox"><stop offset="0" stop-color="#e75545"/><stop offset="0.793" stop-color="#c4483b"/><stop offset="1" stop-color="#983b31"/></radialGradient></defs><g transform="translate(-956 -396)"><rect class="a" width="136" height="136" transform="translate(956 396)"/><g transform="translate(989.164 429.346)"><g transform="translate(10.653 81.66)"><ellipse class="b" cx="24.183" cy="8.497" rx="24.183" ry="8.497"/><ellipse class="c" cx="8.497" cy="3.268" rx="8.497" ry="3.268" transform="translate(15.687 5.229)"/></g><g transform="translate(0 0)"><path class="d" d="M22.956,71.538q-.792-.8-1.543-1.533A36.466,36.466,0,0,1,0,36.4C0,16.3,15.6,0,34.837,0S69.673,16.3,69.673,36.4c0,15.235-8.954,28.283-21.664,33.711q-.588.673-1.219,1.424A73.582,73.582,0,0,0,35.337,90.157S30.335,78.981,22.956,71.538Z" transform="translate(0 0)"/><circle class="e" cx="27.451" cy="27.451" r="27.451" transform="translate(7.029 7.568)"/></g></g><g transform="translate(10174 7640)"><g class="f" transform="translate(-9178 -7204)"><circle class="g" cx="28" cy="28" r="28"/><circle class="h" cx="28" cy="28" r="26.5"/></g></g></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="136"
|
||||
height="136" viewBox="0 0 136 136">
|
||||
<defs>
|
||||
<style>
|
||||
.a,.f{fill:#fff;}.a{opacity:0;}.b{fill:#ff5f4c;opacity:0.304;}.c{fill:#a74d4b;opacity:0.708;}.d{fill:url(#a);}.e{fill:url(#b);}.f{stroke:#db4646;stroke-width:3px;}.g{stroke:none;}.h{fill:none;}
|
||||
</style>
|
||||
<radialGradient id="a" cx="0.21" cy="0.134" r="1.274"
|
||||
gradientTransform="matrix(0.849, 0.529, -0.307, 0.493, 0.073, -0.043)"
|
||||
gradientUnits="objectBoundingBox">
|
||||
<stop offset="0" stop-color="#ff9287" />
|
||||
<stop offset="0.786" stop-color="#ff5f4c" />
|
||||
<stop offset="1" stop-color="#ff5f4c" />
|
||||
</radialGradient>
|
||||
<radialGradient id="b" cx="0.5" cy="0.5" r="0.5" gradientUnits="objectBoundingBox">
|
||||
<stop offset="0" stop-color="#e75545" />
|
||||
<stop offset="0.793" stop-color="#c4483b" />
|
||||
<stop offset="1" stop-color="#983b31" />
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<g transform="translate(-956 -396)">
|
||||
<rect class="a" width="136" height="136" transform="translate(956 396)" />
|
||||
<g transform="translate(989.164 429.346)">
|
||||
<g transform="translate(10.653 81.66)">
|
||||
<ellipse class="b" cx="24.183" cy="8.497" rx="24.183" ry="8.497" />
|
||||
<ellipse class="c" cx="8.497" cy="3.268" rx="8.497" ry="3.268"
|
||||
transform="translate(15.687 5.229)" />
|
||||
</g>
|
||||
<g transform="translate(0 0)">
|
||||
<path class="d"
|
||||
d="M22.956,71.538q-.792-.8-1.543-1.533A36.466,36.466,0,0,1,0,36.4C0,16.3,15.6,0,34.837,0S69.673,16.3,69.673,36.4c0,15.235-8.954,28.283-21.664,33.711q-.588.673-1.219,1.424A73.582,73.582,0,0,0,35.337,90.157S30.335,78.981,22.956,71.538Z"
|
||||
transform="translate(0 0)" />
|
||||
<circle class="e" cx="27.451" cy="27.451" r="27.451"
|
||||
transform="translate(7.029 7.568)" />
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(10174 7640)">
|
||||
<g class="f" transform="translate(-9178 -7204)">
|
||||
<circle class="g" cx="28" cy="28" r="28" />
|
||||
<circle class="h" cx="28" cy="28" r="26.5" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 7.2 KiB |
BIN
collect-library/src/main/assets/omdb/test.jpeg
Normal file
After Width: | Height: | Size: 79 KiB |
@ -72,7 +72,7 @@ class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView, traceP
|
||||
vectorNiLocationTileLayer = VectorTileLayer(mMapView.vtmMap, mapLifeNiLocationTileSource)
|
||||
|
||||
labelNiLocationLayer =
|
||||
LabelLayer(mMapView.vtmMap, vectorNiLocationTileLayer, LabelTileLoaderHook(), 15)
|
||||
LabelLayer(mMapView.vtmMap, vectorNiLocationTileLayer, LabelTileLoaderHook())
|
||||
|
||||
if (vectorNiLocationTileLayer != null) {
|
||||
addLayer(vectorNiLocationTileLayer, NIMapView.LAYER_GROUPS.BASE)
|
||||
@ -110,8 +110,7 @@ class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView, traceP
|
||||
omdbReferenceLabelLayer = LabelLayer(
|
||||
mMapView.vtmMap,
|
||||
omdbReferenceTileLayer,
|
||||
LabelTileLoaderHook(),
|
||||
Constant.OMDB_MIN_ZOOM
|
||||
LabelTileLoaderHook()
|
||||
)
|
||||
if (omdbReferenceTileLayer != null) {
|
||||
addLayer(omdbReferenceTileLayer, NIMapView.LAYER_GROUPS.VECTOR_TILE)
|
||||
@ -124,8 +123,7 @@ class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView, traceP
|
||||
omdbLabelLayer = LabelLayer(
|
||||
mMapView.vtmMap,
|
||||
omdbVectorTileLayer,
|
||||
LabelTileLoaderHook(),
|
||||
Constant.OMDB_MIN_ZOOM
|
||||
LabelTileLoaderHook()
|
||||
)
|
||||
if (omdbVectorTileLayer != null) {
|
||||
addLayer(omdbVectorTileLayer, NIMapView.LAYER_GROUPS.VECTOR_TILE)
|
||||
|
@ -8,7 +8,6 @@ import android.util.Log;
|
||||
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
||||
import com.navinfo.collect.library.data.entity.GeometryFeatureEntity;
|
||||
import com.navinfo.collect.library.data.entity.RenderEntity;
|
||||
|
||||
import org.locationtech.jts.geom.Coordinate;
|
||||
@ -20,8 +19,6 @@ import org.locationtech.jts.geom.MultiPoint;
|
||||
import org.locationtech.jts.geom.MultiPolygon;
|
||||
import org.locationtech.jts.geom.Point;
|
||||
import org.locationtech.jts.geom.Polygon;
|
||||
import org.locationtech.jts.io.ParseException;
|
||||
import org.locationtech.jts.io.WKBReader;
|
||||
import org.oscim.core.MapElement;
|
||||
import org.oscim.core.Tag;
|
||||
import org.oscim.core.Tile;
|
||||
@ -146,8 +143,9 @@ public class OMDBDataDecoder extends TileDecoder {
|
||||
private void processCoordinateArray(Coordinate[] coordinates, boolean removeLast) {
|
||||
int length = removeLast ? coordinates.length - 1 : coordinates.length;
|
||||
for (int i = 0; i < length; i++) {
|
||||
// double z = longitudeToX(MercatorProjection.pixelXToLongitudeWithScale(MercatorProjection.metersToPixelsWithScale((float) coordinates[i].z, coordinates[i].y, mTileScale), mTileScale))* mTileScale/8;
|
||||
mMapElement.addPoint((float) ((longitudeToX(coordinates[i].x) - mTileX) * mTileScale),
|
||||
(float) ((latitudeToY(coordinates[i].y) - mTileY) * mTileScale));
|
||||
(float) ((latitudeToY(coordinates[i].y) - mTileY) * mTileScale), 0);
|
||||
}
|
||||
|
||||
// int length = removeLast ? coordinates.length - 1 : coordinates.length;
|
||||
|
@ -140,8 +140,10 @@ public class OMDBReferenceDecoder extends TileDecoder {
|
||||
private void processCoordinateArray(Coordinate[] coordinates, boolean removeLast) {
|
||||
int length = removeLast ? coordinates.length - 1 : coordinates.length;
|
||||
for (int i = 0; i < length; i++) {
|
||||
// 将Z坐标的米转换为屏幕像素坐标
|
||||
// double z = longitudeToX(MercatorProjection.pixelXToLongitudeWithScale(MercatorProjection.metersToPixelsWithScale((float) coordinates[i].z, coordinates[i].y, mTileScale), mTileScale))* mTileScale/8;
|
||||
mMapElement.addPoint((float) ((longitudeToX(coordinates[i].x) - mTileX) * mTileScale),
|
||||
(float) ((latitudeToY(coordinates[i].y) - mTileY) * mTileScale));
|
||||
(float) ((latitudeToY(coordinates[i].y) - mTileY) * mTileScale), 0);
|
||||
}
|
||||
|
||||
// int length = removeLast ? coordinates.length - 1 : coordinates.length;
|
||||
|
@ -10,7 +10,8 @@ public class OMDBReferenceTileSource extends TileSource {
|
||||
|
||||
@Override
|
||||
public ITileDataSource getDataSource() {
|
||||
return new OverzoomTileDataSource(new OMDBReferenceDataSource(), Constant.OVER_ZOOM);
|
||||
//return new OverzoomTileDataSource(new OMDBReferenceDataSource(), Constant.OVER_ZOOM);
|
||||
return new OMDBReferenceDataSource();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -10,7 +10,8 @@ public class OMDBTileSource extends TileSource {
|
||||
|
||||
@Override
|
||||
public ITileDataSource getDataSource() {
|
||||
return new OverzoomTileDataSource(new OMDBTileDataSource(), Constant.OVER_ZOOM);
|
||||
// return new OverzoomTileDataSource(new OMDBTileDataSource(), Constant.OVER_ZOOM);
|
||||
return new OMDBTileDataSource();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -12,7 +12,8 @@ public class RealmDBTileSource extends TileSource {
|
||||
|
||||
@Override
|
||||
public ITileDataSource getDataSource() {
|
||||
return new OverzoomTileDataSource(new RealmDBTileDataSource(), Constant.OVER_ZOOM);
|
||||
//return new OverzoomTileDataSource(new RealmDBTileDataSource(), Constant.OVER_ZOOM);
|
||||
return new RealmDBTileDataSource();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -30,8 +30,8 @@ public class Constant {
|
||||
}
|
||||
|
||||
public static String[] HAD_LAYER_INVISIABLE_ARRAY;
|
||||
public static final int OVER_ZOOM = 21;
|
||||
public static final int MAX_ZOOM = 23;
|
||||
public static final int OVER_ZOOM = 22;
|
||||
public static final int MAX_ZOOM = 22;
|
||||
public static final int OMDB_MIN_ZOOM = 16;
|
||||
|
||||
public static int TASK_ID = -1;
|
||||
|
@ -222,9 +222,7 @@ public class GeometryTools {
|
||||
|
||||
Geometry geometry;
|
||||
try {
|
||||
|
||||
geometry = reader.read(wkt);
|
||||
|
||||
if (geometry != null) {
|
||||
return geometry;
|
||||
}
|
||||
|
2
vtm
@ -1 +1 @@
|
||||
Subproject commit c74bcd29c24cddf395fa9654ef0b69d0c88ac3ad
|
||||
Subproject commit 4c9926d105877fce305025e8f85651ccea947c4f
|