修改路径规划失败提示
This commit is contained in:
parent
7c5a1763fe
commit
202e2b3a8e
@ -403,7 +403,10 @@ class MainViewModel @Inject constructor(
|
|||||||
naviOption = naviOption,
|
naviOption = naviOption,
|
||||||
callback = object : OnNaviEngineCallbackListener {
|
callback = object : OnNaviEngineCallbackListener {
|
||||||
|
|
||||||
override fun planningPathStatus(status: NaviStatus) {
|
override fun planningPathStatus(
|
||||||
|
status: NaviStatus, linkdId: String?,
|
||||||
|
geometry: String?
|
||||||
|
) {
|
||||||
when (status) {
|
when (status) {
|
||||||
NaviStatus.NAVI_STATUS_PATH_PLANNING -> naviEngineStatus = 0
|
NaviStatus.NAVI_STATUS_PATH_PLANNING -> naviEngineStatus = 0
|
||||||
NaviStatus.NAVI_STATUS_PATH_ERROR_NODE -> naviEngineStatus = 0
|
NaviStatus.NAVI_STATUS_PATH_ERROR_NODE -> naviEngineStatus = 0
|
||||||
@ -415,8 +418,24 @@ class MainViewModel @Inject constructor(
|
|||||||
NaviStatus.NAVI_STATUS_DIRECTION_OFF -> {}
|
NaviStatus.NAVI_STATUS_DIRECTION_OFF -> {}
|
||||||
}
|
}
|
||||||
liveDataNaviStatus.postValue(status)
|
liveDataNaviStatus.postValue(status)
|
||||||
|
if (geometry != null) {
|
||||||
|
viewModelScope.launch(Dispatchers.Main) {
|
||||||
|
|
||||||
|
val lineString = GeometryTools.createGeometry(geometry)
|
||||||
|
val envelope = lineString.envelopeInternal
|
||||||
|
mapController.animationHandler.animateToBox(
|
||||||
|
envelope.maxX,
|
||||||
|
envelope.maxY,
|
||||||
|
envelope.minX,
|
||||||
|
envelope.minY
|
||||||
|
)
|
||||||
|
|
||||||
|
mapController.lineHandler.showLine(geometry)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override suspend fun bindingResults(
|
override suspend fun bindingResults(
|
||||||
route: NaviRoute?,
|
route: NaviRoute?,
|
||||||
list: List<NaviRouteItem>
|
list: List<NaviRouteItem>
|
||||||
|
|||||||
@ -11,15 +11,17 @@ import com.navinfo.omqs.bean.NaviRoute
|
|||||||
import com.navinfo.omqs.bean.NaviRouteItem
|
import com.navinfo.omqs.bean.NaviRouteItem
|
||||||
import com.navinfo.omqs.db.RealmOperateHelper
|
import com.navinfo.omqs.db.RealmOperateHelper
|
||||||
import io.realm.Realm
|
import io.realm.Realm
|
||||||
|
import org.locationtech.jts.geom.Geometry
|
||||||
import org.locationtech.jts.geom.LineString
|
import org.locationtech.jts.geom.LineString
|
||||||
import org.locationtech.jts.geom.Point
|
import org.locationtech.jts.geom.Point
|
||||||
import org.oscim.core.GeoPoint
|
import org.oscim.core.GeoPoint
|
||||||
|
|
||||||
interface OnNaviEngineCallbackListener {
|
interface OnNaviEngineCallbackListener {
|
||||||
fun planningPathStatus(code: NaviStatus)
|
fun planningPathStatus(code: NaviStatus, linkdId: String? = null, geometry: String? = null)
|
||||||
|
|
||||||
// fun planningPathError(errorCode: NaviStatus, errorMessage: String)
|
// fun planningPathError(errorCode: NaviStatus, errorMessage: String)
|
||||||
suspend fun bindingResults(route: NaviRoute?, list: List<NaviRouteItem>)
|
suspend fun bindingResults(route: NaviRoute?, list: List<NaviRouteItem>)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class NaviStatus {
|
enum class NaviStatus {
|
||||||
@ -205,9 +207,12 @@ class NaviEngine(
|
|||||||
callback.planningPathStatus(NaviStatus.NAVI_STATUS_PATH_PLANNING)
|
callback.planningPathStatus(NaviStatus.NAVI_STATUS_PATH_PLANNING)
|
||||||
val pathList = mutableListOf<NaviRoute>()
|
val pathList = mutableListOf<NaviRoute>()
|
||||||
val realm = realmOperateHelper.getSelectTaskRealmInstance()
|
val realm = realmOperateHelper.getSelectTaskRealmInstance()
|
||||||
for (link in taskBean.hadLinkDvoList) {
|
Log.e("jingo", "路径计算 条数 ${taskBean.hadLinkDvoList.size}")
|
||||||
|
for (i in 0 until taskBean.hadLinkDvoList.size) {
|
||||||
|
val link = taskBean.hadLinkDvoList[i]
|
||||||
|
Log.e("jingo","获取 S E $i 总共 ${taskBean.hadLinkDvoList.size}")
|
||||||
//测线不参与导航
|
//测线不参与导航
|
||||||
if (link.linkStatus == 3) {
|
if (link!!.linkStatus == 3) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
val route = NaviRoute(
|
val route = NaviRoute(
|
||||||
@ -255,13 +260,17 @@ class NaviEngine(
|
|||||||
}
|
}
|
||||||
if (!bHasNode) {
|
if (!bHasNode) {
|
||||||
callback.planningPathStatus(
|
callback.planningPathStatus(
|
||||||
NaviStatus.NAVI_STATUS_PATH_ERROR_NODE
|
NaviStatus.NAVI_STATUS_PATH_ERROR_NODE,
|
||||||
|
link.linkPid,
|
||||||
|
link.geometry
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (!bHasDir) {
|
if (!bHasDir) {
|
||||||
callback.planningPathStatus(
|
callback.planningPathStatus(
|
||||||
NaviStatus.NAVI_STATUS_PATH_ERROR_DIRECTION
|
NaviStatus.NAVI_STATUS_PATH_ERROR_DIRECTION,
|
||||||
|
link!!.linkPid,
|
||||||
|
link.geometry
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -346,7 +355,9 @@ class NaviEngine(
|
|||||||
if (!bHasLast && !bHasNext) {
|
if (!bHasLast && !bHasNext) {
|
||||||
bBreak = false
|
bBreak = false
|
||||||
callback.planningPathStatus(
|
callback.planningPathStatus(
|
||||||
NaviStatus.NAVI_STATUS_PATH_ERROR_BLOCKED
|
NaviStatus.NAVI_STATUS_PATH_ERROR_BLOCKED,
|
||||||
|
tempRouteList[0].linkId,
|
||||||
|
GeometryTools.getLineString(tempRouteList[0].pointList)
|
||||||
)
|
)
|
||||||
realm.close()
|
realm.close()
|
||||||
return
|
return
|
||||||
@ -356,7 +367,9 @@ class NaviEngine(
|
|||||||
|
|
||||||
val itemMap: MutableMap<GeoPoint, MutableList<RenderEntity>> = mutableMapOf()
|
val itemMap: MutableMap<GeoPoint, MutableList<RenderEntity>> = mutableMapOf()
|
||||||
//查询每根link上的关联要素
|
//查询每根link上的关联要素
|
||||||
for (route in newRouteList) {
|
for (i in newRouteList.indices) {
|
||||||
|
val route = newRouteList[i]
|
||||||
|
Log.e("jingo","获取 插入要素 $i 总共 ${newRouteList.size}")
|
||||||
itemMap.clear()
|
itemMap.clear()
|
||||||
//常规点限速
|
//常规点限速
|
||||||
val res = realm.where(RenderEntity::class.java)
|
val res = realm.where(RenderEntity::class.java)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user