This commit is contained in:
gcw_IJ7DAiVL
2025-10-24 09:02:28 +08:00
parent 444bded88f
commit af252cd65e
2 changed files with 138 additions and 104 deletions

View File

@ -1,16 +1,16 @@
{
"startPoint": "114.26344,27.800982",
"endPoint": "114.284668,27.794961",
"startPoint": "114.312888,27.796612",
"endPoint": "114.336525,27.767989",
"viaPoints": [
{
"time": "1694352000000",
"points": "114.272329,27.797299"
"points": "114.334239,27.779261"
}
],
"avoidPoints": [
{
"time": "1694352003000",
"points": "114.27882,27.792857"
"points": ""
}
],
"avoidAreas": [

View File

@ -2,11 +2,21 @@
<div>
<div class="home-header">
<div class="home-header-left">
<el-tooltip content="起点绘制">
<img @click="drawStartPoint" src="@/assets/image/start.png" />
</el-tooltip>
<el-tooltip content="终点绘制">
<img @click="drawEndPoint" src="@/assets/image/end.png" />
</el-tooltip>
<el-tooltip content="途径点绘制">
<img @click="drawViaPoint" src="@/assets/image/add.png" />
</el-tooltip>
<el-tooltip content="避让点绘制">
<img @click="drawAvoidPoint" src="@/assets/image/avoidP.png" />
</el-tooltip>
<el-tooltip content="避让区域绘制">
<img @click="drawAvoidArea" src="@/assets/image/updown.png" />
</el-tooltip>
<div @click="clear" class="sure">清除</div>
<div @click="calculateShortestPath" class="sure">确定</div>
<div @click="hadBuffer" class="sure">路线隐蔽规划</div>
@ -32,12 +42,12 @@
<div class="title">参数</div>
<el-form
@submit.native.prevent="calculateShortestPath"
label-width="120px"
label-width="140px"
label-position="left"
size="mini"
:model="form"
>
<el-form-item label="起点">
<el-form-item label="起点">
<el-input
v-model="form.startPoint"
@blur="pointsChange('startPoint')"
@ -45,7 +55,7 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="终点">
<el-form-item label="终点">
<el-input
v-model="form.endPoint"
@blur="pointsChange('endPoint')"
@ -53,7 +63,7 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="途经点">
<el-form-item label="途经点">
<div v-for="(item, index) in form.viaPoints" :key="index">
<el-input
v-model="item.points"
@ -64,7 +74,7 @@
></el-input>
</div>
</el-form-item>
<el-form-item label="避让点">
<el-form-item label="避让点">
<div v-for="(item, index) in form.avoidPoints" :key="index">
<el-input
v-model="item.points"
@ -75,7 +85,7 @@
></el-input>
</div>
</el-form-item>
<el-form-item label="避让区域">
<el-form-item label="避让区域">
<div v-for="(item, index) in form.avoidAreas" :key="index">
<el-input
v-model="item.points"
@ -98,14 +108,14 @@
<div class="control-panel">
<div class="title">隐蔽添加</div>
<el-form
label-width="120px"
label-width="140px"
label-position="left"
size="mini"
>
<el-form-item label="缓冲半径m">
<el-form-item label="缓冲半径(m)">
<el-input v-model="hideform.radius"></el-input>
</el-form-item>
<el-form-item label="面积冗余%">
<el-form-item label="面积冗余(%)">
<el-input v-model="hideform.redundancy" placeholder=""></el-input>
</el-form-item>
</el-form>
@ -120,17 +130,17 @@
</div>
<el-form
@submit.native.prevent="calculateShortestPath"
label-width="120px"
label-width="140px"
label-position="left"
size="mini"
>
<el-form-item label="宽度">
<el-form-item label="宽度(m)">
<el-input v-model="inputform.width"></el-input>
</el-form-item>
<el-form-item label="载重(吨)">
<el-form-item label="载重(吨)">
<el-input v-model="inputform.load" placeholder=""></el-input>
</el-form-item>
<el-form-item label="最小转弯半径">
<el-form-item label="最小转弯半径(m)">
<el-input
v-model="inputform.minTurnRadius"
placeholder=""
@ -437,6 +447,9 @@ export default {
}
},
async mounted() {
[...document.querySelectorAll('*')].forEach(n =>
console.log(window.getComputedStyle(n).fontFamily)
)
this.viewer = null
await this.getMapOption()
this.$nextTick(async () => {
@ -477,6 +490,9 @@ export default {
pitch: -35,
},
},
defaultLabelStyle: {
font: '16px "DengXian",sans-serif',
}
// basemaps: [
// {
// id: "image-tdss",
@ -1278,10 +1294,16 @@ export default {
(viaPoint) => viaPoint.style.time !== row.time
)
} else {
if (this.viaPoints.length > 0) {
const graphic = this.viaPoints.find(
(viaPoint) => viaPoint.style.time === row.time
)
this.updatePointPosition(graphic, row.points)
} else {
const time = new Date().getTime()
row.time = time
this.addPointToMap('viaPoints', row, time)
}
}
} else if (type === 'avoidPoints') {
if (!row.points) {
@ -1304,10 +1326,16 @@ export default {
(avoidPoint) => avoidPoint.style.time !== row.time
)
} else {
if (this.avoidPoints.length > 0) {
const graphic = this.avoidPoints.find(
(avoidPoint) => avoidPoint.style.time === row.time
)
this.updatePointPosition(graphic, row.points)
} else {
const time = new Date().getTime()
row.time = time
this.addPointToMap('avoidPoints', row, time)
}
}
} else if (type === 'avoidAreas') {
if (!row.points) {
@ -1330,10 +1358,16 @@ export default {
(avoidArea) => avoidArea.style.time !== row.time
)
} else {
if (this.avoidAreas.length > 0) {
const graphic = this.avoidAreas.find(
(avoidArea) => avoidArea.style.time === row.time
)
this.updatePolygonPosition(graphic, row.points)
} else {
const time = new Date().getTime()
row.time = time
this.addPolygonToMap('avoidAreas', row, time)
}
}
}
},