Merge branch 'master' of https://gitlab.navinfo.com/CollectVehicle/OneMapQS
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
package com.navinfo.collect.library.data.entity
|
||||
|
||||
import com.navinfo.collect.library.utils.GeometryTools
|
||||
import com.navinfo.collect.library.utils.GeometryToolsKt
|
||||
import io.realm.RealmObject
|
||||
import io.realm.annotations.PrimaryKey
|
||||
|
||||
@@ -45,4 +43,10 @@ open class HadLinkDvoBean @JvmOverloads constructor(
|
||||
* 长度(米)
|
||||
*/
|
||||
var length: Double = 0.000,
|
||||
|
||||
/**
|
||||
* 这条link是不是参与到路径计算中
|
||||
*/
|
||||
var isNavi: Boolean = true
|
||||
|
||||
) : RealmObject()
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.navinfo.collect.library.data.entity
|
||||
|
||||
import io.realm.RealmObject
|
||||
import io.realm.annotations.PrimaryKey
|
||||
|
||||
open class NavInfo @JvmOverloads constructor(
|
||||
@PrimaryKey
|
||||
var id: Int = 0,
|
||||
/**
|
||||
* 起点link
|
||||
*/
|
||||
var naviStartLinkId: String = "",
|
||||
|
||||
/**
|
||||
* 终点link
|
||||
*/
|
||||
var naviEndLinkId: String = "",
|
||||
|
||||
/**
|
||||
* 起点NodeId
|
||||
*/
|
||||
var naviStartNode: String = "",
|
||||
|
||||
var naviEndNode: String = "",
|
||||
|
||||
) : RealmObject() {
|
||||
}
|
||||
@@ -69,8 +69,11 @@ open class TaskBean @JvmOverloads constructor(
|
||||
var message: String = "",
|
||||
@Ignore
|
||||
var errMsg: String = "",
|
||||
var color: Int = 0xFF00AA
|
||||
) : RealmObject() {
|
||||
var color: Int = 0xFF00AA,
|
||||
|
||||
var navInfo: NavInfo? = null,
|
||||
|
||||
) : RealmObject() {
|
||||
fun getDownLoadUrl(): String {
|
||||
return "${Constant.SERVER_ADDRESS}devcp/downFile?fileStr=$id"
|
||||
}
|
||||
|
||||
@@ -33,11 +33,11 @@ public enum class DataCodeEnum(var tableName: String, var code: String) {
|
||||
OMDB_RAMP_7("高速直连出口匝道高速出入口匝道", "2037-7"),
|
||||
OMDB_MULTI_DIGITIZED("上下线分离", "2040"),
|
||||
OMDB_LANE_NUM("车道数", "2041"),
|
||||
OMDB_LANE_TYPE_ACCESS("车道类型", "2092"),
|
||||
OMDB_PHY_LANENUM("物理车道数", "2097"),
|
||||
OMDB_VIADUCT("高架", "2043"),
|
||||
OMDB_RDBOUND_BOUNDARYTYPE("道路边界类型", "2083"),
|
||||
OMDB_LANE_CONSTRUCTION("车道施工", "2090"),
|
||||
OMDB_LANE_TYPE_ACCESS("车道类型","2092"),
|
||||
OMDB_BRIDGE("桥", "2201"),
|
||||
OMDB_BRIDGE_1("固定桥", "2201-1"),
|
||||
OMDB_BRIDGE_2("可移动桥", "2201-2"),
|
||||
@@ -72,14 +72,16 @@ public enum class DataCodeEnum(var tableName: String, var code: String) {
|
||||
OMDB_FILL_AREA("导流区", "3012"),
|
||||
OMDB_CROSS_WALK("人行横道", "3014"),
|
||||
OMDB_OBJECT_STOPLOCATION("停止位置", "3016"),
|
||||
OMDB_OBJECT_REFUGE_ISLAND("路口内交通岛","3027"),
|
||||
OMDB_OBJECT_REFUGE_ISLAND("路口内交通岛", "3027"),
|
||||
OMDB_INTERSECTION("路口", "4001"),
|
||||
OMDB_SPEEDLIMIT("常规点限速", "4002"),
|
||||
OMDB_SPEEDLIMIT_COND("条件点限速", "4003"),
|
||||
OMDB_SPEEDLIMIT_VAR("可变点限速", "4004"),
|
||||
OMDB_LANE_SPEEDLIMIT("车道点限速", "4005"),
|
||||
OMDB_RESTRICTION("普通交限", "4006"),
|
||||
OMDB_WARNINGSIGN("警示信息", "4009"),
|
||||
OMDB_ELECTRONICEYE("电子眼", "4010"),
|
||||
OMDB_ZLEVEL("立交", "4016"),
|
||||
OMDB_TRAFFICLIGHT("交通灯", "4022"),
|
||||
OMDB_TOLLGATE("收费站", "4023"),
|
||||
OMDB_LANEINFO("车信", "4601"),
|
||||
|
||||
@@ -3,5 +3,5 @@ package com.navinfo.collect.library.map
|
||||
import org.oscim.core.GeoPoint
|
||||
|
||||
interface OnGeoPointClickListener : BaseClickListener {
|
||||
fun onMapClick(tag: String, point: GeoPoint)
|
||||
fun onMapClick(tag: String, point: GeoPoint, other: String = "")
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.content.Context
|
||||
import android.graphics.BitmapFactory
|
||||
import android.graphics.Canvas
|
||||
import android.graphics.Color
|
||||
import android.util.Log
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import com.navinfo.collect.library.R
|
||||
@@ -12,6 +13,7 @@ import com.navinfo.collect.library.data.entity.NoteBean
|
||||
import com.navinfo.collect.library.data.entity.QsRecordBean
|
||||
import com.navinfo.collect.library.map.BaseClickListener
|
||||
import com.navinfo.collect.library.map.NIMapView
|
||||
import com.navinfo.collect.library.map.OnGeoPointClickListener
|
||||
import com.navinfo.collect.library.map.cluster.ClusterMarkerItem
|
||||
import com.navinfo.collect.library.map.cluster.ClusterMarkerRenderer
|
||||
import com.navinfo.collect.library.map.layers.MyItemizedLayer
|
||||
@@ -37,7 +39,7 @@ import java.util.*
|
||||
/**
|
||||
* marker 操作
|
||||
*/
|
||||
class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
|
||||
class MarkHandler(val context: AppCompatActivity, mapView: NIMapView) :
|
||||
BaseHandler(context, mapView) {
|
||||
|
||||
/**
|
||||
@@ -73,6 +75,8 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
|
||||
*/
|
||||
private val canvas: org.oscim.backend.canvas.Canvas = CanvasAdapter.newCanvas()
|
||||
|
||||
private var mStartEndMarkerLayer: ItemizedLayer? = null
|
||||
|
||||
/**
|
||||
* 默认marker图层
|
||||
*/
|
||||
@@ -1015,6 +1019,68 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
|
||||
|
||||
return -1
|
||||
}
|
||||
|
||||
fun removeNaviMarkerLayer() {
|
||||
if (mStartEndMarkerLayer != null) {
|
||||
removeLayer(mStartEndMarkerLayer!!)
|
||||
mStartEndMarkerLayer = null
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 显示选择起点 终点
|
||||
*/
|
||||
fun showNaviStartOrEndLayer(sNodePoint: GeoPoint, eNodePoint: GeoPoint, sNodeId: String, eNodeId: String, bStart: Boolean) {
|
||||
removeNaviMarkerLayer()
|
||||
if (mStartEndMarkerLayer == null) {
|
||||
val mDefaultBitmap = if(bStart) {
|
||||
AndroidBitmap(BitmapFactory.decodeResource(context.resources, R.drawable.navi_set_start_point))
|
||||
}else{
|
||||
AndroidBitmap(BitmapFactory.decodeResource(context.resources, R.drawable.navi_set_end_point))
|
||||
}
|
||||
// mDefaultBitmap.scaleTo(150, 150)
|
||||
val markerSymbol = MarkerSymbol(
|
||||
mDefaultBitmap,
|
||||
MarkerSymbol.HotspotPlace.BOTTOM_CENTER
|
||||
)
|
||||
mStartEndMarkerLayer = ItemizedLayer(
|
||||
mMapView.vtmMap,
|
||||
markerSymbol,
|
||||
)
|
||||
addLayer(mStartEndMarkerLayer!!, NIMapView.LAYER_GROUPS.OPERATE_MARKER)
|
||||
mStartEndMarkerLayer!!.setOnItemGestureListener(object : OnItemGestureListener<MarkerInterface> {
|
||||
override fun onItemSingleTapUp(index: Int, item: MarkerInterface): Boolean {
|
||||
val tag = mMapView.listenerTagList.last()
|
||||
val listenerList = mMapView.listenerList[tag]
|
||||
if (listenerList != null) {
|
||||
for (listener in listenerList) {
|
||||
if (listener is OnGeoPointClickListener) {
|
||||
listener.onMapClick(tag, item.point, (item as MarkerItem).title)
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onItemLongPress(index: Int, item: MarkerInterface): Boolean {
|
||||
return true
|
||||
}
|
||||
})
|
||||
} else {
|
||||
mStartEndMarkerLayer!!.removeAllItems()
|
||||
}
|
||||
mStartEndMarkerLayer!!.addItem(MarkerItem(sNodeId, "", sNodePoint))
|
||||
mStartEndMarkerLayer!!.addItem(MarkerItem(eNodeId, "", eNodePoint))
|
||||
}
|
||||
|
||||
fun clearNaviStartPoint() {
|
||||
if (mStartEndMarkerLayer != null) {
|
||||
removeLayer(mStartEndMarkerLayer!!)
|
||||
mStartEndMarkerLayer = null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interface OnQsRecordItemClickListener : BaseClickListener {
|
||||
|
||||
BIN
collect-library/src/main/res/drawable/navi_set_end_point.png
Normal file
BIN
collect-library/src/main/res/drawable/navi_set_end_point.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
BIN
collect-library/src/main/res/drawable/navi_set_start_point.png
Normal file
BIN
collect-library/src/main/res/drawable/navi_set_start_point.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
Reference in New Issue
Block a user