This commit is contained in:
yiqiuyang
2025-09-10 09:44:48 +08:00
3 changed files with 34 additions and 37 deletions

View File

@ -1,26 +1,26 @@
[
{
"id": 1,
"width": 30,
"load": 500,
"width": 7,
"load": 3,
"minTurnRadius": 5
},
{
"id": 2,
"width": 10,
"load": 600,
"width": 11,
"load": 1,
"minTurnRadius": 6
},
{
"id": 3,
"width": 40,
"load": 700,
"width": 8,
"load": 7,
"minTurnRadius": 10
},
{
"id": 4,
"width": 20,
"load": 700,
"width": 10,
"load": 5,
"minTurnRadius": 2
}
]

View File

@ -1,38 +1,22 @@
{
"startPoint": "114.262694,27.786216",
"endPoint": "114.274729,27.777062",
"startPoint": "114.26344,27.800982",
"endPoint": "114.284668,27.794961",
"viaPoints": [
{
"time": "1694352000000",
"points": "114.263233,27.777047"
},
{
"time": "1694352001000",
"points": "114.265512,27.789935"
},
{
"time": "1694352002000",
"points": "114.256863,27.780437"
"points": "114.272329,27.797299"
}
],
"avoidPoints": [
{
"time": "1694352003000",
"points": "114.261166,27.800982"
},
{
"time": "1694352004000",
"points": "114.251312,27.786932"
"points": "114.27882,27.792857"
}
],
"avoidAreas": [
{
"time": "1694352005000",
"points": "[[114.267217,27.777566,0],[114.276695,27.78048,0],[114.276001,27.772547,0],[114.276001,27.772486,0]]"
},
{
"time": "1694352006000",
"points": "[[114.272317,27.786501,0],[114.281341,27.79818,0],[114.290389,27.779594,0],[114.284888,27.773934,0]]"
"points": "[[114.272797,27.7935,0],[114.27268,27.794201,0],[114.27537,27.795838,0]]"
}
]
}

View File

@ -33,12 +33,16 @@
<el-input
v-model="form.startPoint"
@blur="pointsChange('startPoint')"
@clear="pointsChange('startPoint')"
clearable
></el-input>
</el-form-item>
<el-form-item label="终点">
<el-input
v-model="form.endPoint"
@blur="pointsChange('endPoint')"
@clear="pointsChange('endPoint')"
clearable
></el-input>
</el-form-item>
<el-form-item label="途径点">
@ -47,6 +51,8 @@
v-model="item.points"
placeholder=""
@blur="pointsChange('viaPoints', item)"
@clear="pointsChange('viaPoints', item)"
clearable
></el-input>
</div>
</el-form-item>
@ -56,17 +62,19 @@
v-model="item.points"
placeholder=""
@blur="pointsChange('avoidPoints', item)"
@clear="pointsChange('avoidPoints', item)"
clearable
></el-input>
</div>
</el-form-item>
<el-form-item label="避让区域">
<div v-for="(item, index) in form.avoidAreas" :key="index">
<el-input
type="textarea"
v-model="item.points"
:rows="4"
placeholder=""
@blur="pointsChange('avoidAreas', item)"
@clear="pointsChange('avoidAreas', item)"
clearable
></el-input>
</div>
</el-form-item>
@ -173,9 +181,9 @@ export default {
tableData: [],
multipleSelection: [],
inputform: {
width: '',
load: '',
minTurnRadius: '',
width: 0,
load: 0,
minTurnRadius: 0,
},
form: {
startPoint: '',
@ -201,7 +209,6 @@ export default {
}
},
async mounted() {
console.log('go')
this.viewer = null
await this.getMapOption()
this.$nextTick(async () => {
@ -235,6 +242,7 @@ export default {
{
...this.mapOptions,
scene: {
...this.mapOptions.scene,
// mode: Cesium.SceneMode.SCENE2D,
center: {
lat: 27.729862392917948,
@ -509,6 +517,7 @@ export default {
},
// 输入框失去焦点 反向编辑点
pointsChange(type, row) {
console.log('111', type)
if (type === 'startPoint') {
if (
(!this.form.startPoint ||
@ -953,10 +962,13 @@ export default {
const nextNode = pathNodes[j + 1]
const segment = this.roadNetworkGeoJSON.features.find(
(f) =>
(f.properties.FNODE_ == currentNode &&
((f.properties.FNODE_ == currentNode &&
f.properties.TNODE_ == nextNode) ||
(f.properties.FNODE_ == nextNode &&
f.properties.TNODE_ == currentNode)
f.properties.TNODE_ == currentNode) )&&
f.properties.载重吨 >= this.inputform.load &&
f.properties.宽度 >= this.inputform.width &&
f.properties.曲率半 <= this.inputform.minTurnRadius
)
if (segment) {
fullPath.push(...segment.geometry.coordinates[0])
@ -1014,6 +1026,7 @@ export default {
// 单独的路径绘制方法
drawPath(path) {
const positions = path
if (positions.fullPath.length == 0) return
const polyline = new window.mars3d.graphic.PolylinePrimitive({
positions: positions.fullPath,
style: {