From 48d2a325aa6238a906b5dd21ce9a119a47c5a201 Mon Sep 17 00:00:00 2001 From: TreeWish <1131093754@qq.com> Date: 星期二, 07 二月 2023 18:13:52 +0800 Subject: [PATCH] 路径规划分析优化 --- src/components/mapsdk.vue | 602 ++++++++++++++++++++++++------------------------------ 1 files changed, 271 insertions(+), 331 deletions(-) diff --git a/src/components/mapsdk.vue b/src/components/mapsdk.vue index 2378eac..fcc0f62 100644 --- a/src/components/mapsdk.vue +++ b/src/components/mapsdk.vue @@ -1,85 +1,44 @@ <template> <div class="mapBox"> <div id="mapdiv"> - <div - class="menu_Top" - v-if="$store.state.mapMenuBoolean" - > + <div class="menu_Top" v-if="$store.state.mapMenuBoolean"> <map-menu-top v-if="$store.state.mapMenuBoxFlag == '1'" /> <map-space-top v-if="$store.state.mapMenuBoxFlag == '2'" /> </div> - <div - class="bufferBox" - v-if="showBufferBoxDialog" - > + <div class="bufferBox" v-if="showBufferBoxDialog"> <el-card class="box-card"> - <div - slot="header" - class="clearfix" - > + <div slot="header" class="clearfix"> <span>缂撳啿鍖哄垎鏋�</span> <div style="float: right; cursor: pointer"> - <i - class="el-icon-close" - @click="closeBufferBox(1)" - ></i> + <i class="el-icon-close" @click="closeBufferBox(1)"></i> </div> </div> <div class="box-body"> - <el-form - ref="form" - :model="bufFrom" - label-width="100px" - > + <el-form ref="form" :model="bufFrom" label-width="100px"> <el-form-item label="缂撳啿鍗婂緞(绫�):"> <el-input v-model="bufFrom.val"></el-input> </el-form-item> <el-form-item> - <el-button - @click="addBuffer(1)" - type="info" - >鐐�</el-button> - <el-button - @click="addBuffer(2)" - type="info" - >绾�</el-button> - <el-button - @click="addBuffer(3)" - type="info" - >闈�</el-button> - <el-button - @click="clearBuffer" - type="info" - >娓呴櫎</el-button> + <el-button @click="addBuffer(1)" type="info">鐐�</el-button> + <el-button @click="addBuffer(2)" type="info">绾�</el-button> + <el-button @click="addBuffer(3)" type="info">闈�</el-button> + <el-button @click="clearBuffer" type="info">娓呴櫎</el-button> </el-form-item> </el-form> </div> </el-card> </div> - <div - class="coordLocalBox" - v-if="showCoordLocalBoxDialog" - > + <div class="coordLocalBox" v-if="showCoordLocalBoxDialog"> <el-card class="box-card"> - <div - slot="header" - class="clearfix" - > + <div slot="header" class="clearfix"> <span>鍧愭爣瀹氫綅</span> <div style="float: right; cursor: pointer"> - <i - class="el-icon-close" - @click="closeBufferBox(2)" - ></i> + <i class="el-icon-close" @click="closeBufferBox(2)"></i> </div> </div> <div class="box-body"> - <el-form - ref="form" - :model="coordFrom" - label-width="50px" - > + <el-form ref="form" :model="coordFrom" label-width="50px"> <el-form-item label="缁忓害:"> <el-input v-model="coordFrom.lon"></el-input> </el-form-item> @@ -90,38 +49,22 @@ <el-input v-model="coordFrom.height"></el-input> </el-form-item> <el-form-item> - <el-button - @click="setCoordLocal" - type="info" - >瀹氫綅</el-button> + <el-button @click="setCoordLocal" type="info">瀹氫綅</el-button> </el-form-item> </el-form> </div> </el-card> </div> - <div - class="toponymicLocalBox" - v-if="showToponymicLocalBoxDialog" - > + <div class="toponymicLocalBox" v-if="showToponymicLocalBoxDialog"> <el-card class="box-card"> - <div - slot="header" - class="clearfix" - > + <div slot="header" class="clearfix"> <span>鍦板悕瀹氫綅</span> <div style="float: right; cursor: pointer"> - <i - class="el-icon-close" - @click="closeBufferBox(3)" - ></i> + <i class="el-icon-close" @click="closeBufferBox(3)"></i> </div> </div> <div class="box-body"> - <el-form - :model="comprehensive" - :inline="true" - label-width="50px" - > + <el-form :model="comprehensive" :inline="true" label-width="50px"> <el-form-item label="鍦板悕:"> <el-input style="width: 200px" @@ -129,28 +72,17 @@ ></el-input> </el-form-item> <el-form-item> - <el-button - @click="setQueryTable" - type="info" - >鏌ヨ</el-button> + <el-button @click="setQueryTable" type="info">鏌ヨ</el-button> </el-form-item> </el-form> - <el-table - :data="tableData" - height="200px" - style="width: 100%" - > + <el-table :data="tableData" height="200px" style="width: 100%"> <el-table-column align="center" type="index" label="搴忓彿" width="70px" /> - <el-table-column - prop="name" - align="center" - label="瀹氫綅" - > + <el-table-column prop="name" align="center" label="瀹氫綅"> <template slot-scope="scope"> <el-button @click="handleLocation(scope.$index, scope.row)" @@ -159,17 +91,10 @@ ></el-button> </template> </el-table-column> - <el-table-column - prop="name" - align="center" - label="鍦板悕" - > + <el-table-column prop="name" align="center" label="鍦板悕"> </el-table-column> </el-table> - <div - style="margin-top: 10px" - class="pagination_box" - > + <div style="margin-top: 10px" class="pagination_box"> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -184,64 +109,51 @@ </div> </el-card> </div> - <div - class="pathAnalysisBox" - v-if="showPathAnalysisBoxDialog" - > + <div class="pathAnalysisBox" v-if="showPathAnalysisBoxDialog"> <el-card class="box-card"> - <div - slot="header" - class="clearfix" - > + <div slot="header" class="clearfix"> <span>璺緞鍒嗘瀽</span> <div style="float: right; cursor: pointer"> - <i - class="el-icon-close" - @click="closeBufferBox(4)" - ></i> + <i class="el-icon-close" @click="closeBufferBox(4)"></i> </div> </div> <div class="box-body"> <el-form ref="form" :model="pathFrom" - label-width="50px" + :rules="rules" + label-width="55px" > - <el-form-item label="璧风偣:"> + <el-form-item label="璧风偣:" prop="lon"> <el-input style="width: 250px" v-model="pathFrom.lon" - :disabled="true" + placeholder="鍧愭爣鏍煎紡:116.799,39.979" ></el-input> <el-link :underline="false" @click="showMouseLeftClick(1)" style="margin-left: 10px" - ><i - style="color: white" - class="el-icon-plus" - ></i></el-link> + ><i style="color: white" class="el-icon-plus"></i + ></el-link> </el-form-item> - <el-form-item label="缁堢偣:"> + <el-form-item label="缁堢偣:" prop="lat"> <el-input style="width: 250px" v-model="pathFrom.lat" - :disabled="true" + placeholder="鍧愭爣鏍煎紡:116.824,39.938" ></el-input> <el-link :underline="false" @click="showMouseLeftClick(2)" style="margin-left: 10px" - ><i - style="color: white" - class="el-icon-plus" - ></i></el-link> + ><i style="color: white" class="el-icon-plus"></i + ></el-link> </el-form-item> <el-form-item> - <el-button - @click="showMouseLeftClick(3)" - type="info" - >鏌ヨ</el-button> + <el-button @click="showMouseLeftClick(3)" type="info" + >鏌ヨ</el-button + > </el-form-item> </el-form> </div> @@ -262,25 +174,43 @@ </template> <script> -import $ from 'jquery'; -import mapMenuTop from './MapView/mapMenuTop.vue'; +import $ from "jquery" +import mapMenuTop from "./MapView/mapMenuTop.vue" -import mapSpaceTop from './MapView/mapSpaceTop.vue'; +import mapSpaceTop from "./MapView/mapSpaceTop.vue" import { select_Comprehensive_ByPageAndCount, select_Comprehensive_SelectWktById, - comprehensive_selectRoute -} from '../api/api'; + comprehensive_selectRoute, +} from "../api/api" + export default { - name: '', + name: "", components: { mapMenuTop, mapSpaceTop, - }, data() { + var validatePosition = (rule, value, callback) => { + if (value === "") { + callback(new Error("璇疯緭鍏ュ瘑鐮�")) + } else { + if (value) { + let arr = value.split(",") + if (arr.length !== 2) { + callback(new Error("鍧愭爣鐐圭粡绾害鏍煎紡閿欒锛�")) + } else { + if (arr[0].startsWith("116") && arr[1].startsWith("39")) { + } else { + callback(new Error("鍧愭爣鐐圭含搴︽牸寮忛敊璇紒")) + } + } + } + callback() + } + } return { centerFlag: false, buffer: null, @@ -290,8 +220,27 @@ showPathAnalysisBoxDialog: false, comprehensive: {}, pathFrom: { - lon: ' ', - lat: ' ', + lon: "", + lat: "", + }, + + rules: { + lon: [ + { required: true, message: "璇疯緭鍏ヨ捣鐐圭粡绾害鍧愭爣", trigger: "blur" }, + { + validator: validatePosition, + trigger: "blur", + message: "鍧愭爣鐐圭粡绾害鏍煎紡閿欒,鍧愭爣鏍煎紡搴斾负[116.xxx, 39.yyy]", + }, + ], + lat: [ + { required: true, message: "璇疯緭鍏ョ粓鐐圭粡绾害鍧愭爣", trigger: "blur" }, + { + validator: validatePosition, + trigger: "blur", + message: "鍧愭爣鐐圭粡绾害鏍煎紡閿欒,鍧愭爣鏍煎紡搴斾负[116.xxx, 39.yyy]", + }, + ], }, bufFrom: { val: 50, @@ -322,28 +271,28 @@ menuList: [], defaultProps: { - children: 'children', - label: 'label', + children: "children", + label: "label", }, //鏍戠粦瀹氬璞� - }; + } }, mounted() { - this.init3DMap(); - this.$bus.$on('mapChangeBox', (res) => { - this.showChangeBox(res); - }); + this.init3DMap() + this.$bus.$on("mapChangeBox", res => { + this.showChangeBox(res) + }) }, methods: { init3DMap() { - var webKey = '94a34772eb88317fcbf8428e10448561'; + var webKey = "94a34772eb88317fcbf8428e10448561" //鍦板浘鍒濆鍖� - window.sgworld = new SmartEarth.SGWorld('mapdiv', { + window.sgworld = new SmartEarth.SGWorld("mapdiv", { licenseServer: window.sceneConfig.licenseServer, - }); + }) - window.Viewer = window.sgworld._Viewer; - Viewer.imageryLayers._layers[0].show = false; + window.Viewer = window.sgworld._Viewer + Viewer.imageryLayers._layers[0].show = false //瀹氫綅 sgworld.Navigate.jumpTo({ //璺宠浆瑙嗚 @@ -352,28 +301,23 @@ 39.9115, 100000 ), - }); + }) Viewer.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({ url: gaoDeBaseUrl[0].url, - - }) - ); + ) Viewer.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({ url: gaoDeBaseUrl[1].url, - }) - ); + ) Viewer.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({ url: gaoDeBaseUrl[2].url, - - }) - ); + ) // for (var i in gaoDeBaseUrl) { // sgworld.Creator.createUrlTemplateImageryProvider( @@ -386,15 +330,15 @@ // ); // } - Viewer._enableInfoOrSelection = false; + Viewer._enableInfoOrSelection = false //鏄剧ずfps - Viewer.scene.debugShowFramesPerSecond = false; + Viewer.scene.debugShowFramesPerSecond = false //瀵艰埅鎺т欢 - window.sgworld.navControl('nav', false); + window.sgworld.navControl("nav", false) //姣斾緥灏� - window.sgworld.navControl('scale', false); + window.sgworld.navControl("scale", false) //寮�鍚繁搴︽娴� - sgworld.Analysis.depthTestAgainstTerrain(true); + sgworld.Analysis.depthTestAgainstTerrain(true) //褰卞儚瀵规瘮璁剧疆 // var base = { // url: 'https://a.tile.openstreetmap.org/', @@ -411,8 +355,8 @@ // openStreetMap.item.show = false; Viewer.terrainProvider = new Cesium.CesiumTerrainProvider({ - url:demLayer - }); + url: demLayer, + }) // var option = { // url: window.sceneConfig.SGUrl, // layerName: window.sceneConfig.mptName, @@ -420,8 +364,8 @@ // } // sgworld.Creator.sfsterrainprovider("", option, "", true, ""); - window.elevationTool = new SmartEarth.ElevationTool(window.sgworld); - elevationTool.setContourColor('#F1D487'); + window.elevationTool = new SmartEarth.ElevationTool(window.sgworld) + elevationTool.setContourColor("#F1D487") // var helper = new Cesium.EventHelper(); // helper.add(Viewer.scene.globe.tileLoadProgressEvent, function (e) { @@ -432,102 +376,98 @@ // helper.removeAll(); // helper = undefined; // }); - - - - }, changeMenulayer() { - this.isActive = !this.isActive; - this.isMenuLayer = !this.isMenuLayer; - this.setLayerVisible(); + this.isActive = !this.isActive + this.isMenuLayer = !this.isMenuLayer + this.setLayerVisible() }, setLayerVisible() { if (this.isActive == true) { - Viewer.imageryLayers._layers[1].show = true; - Viewer.imageryLayers._layers[2].show = false; - Viewer.imageryLayers._layers[3].show = false; + Viewer.imageryLayers._layers[1].show = true + Viewer.imageryLayers._layers[2].show = false + Viewer.imageryLayers._layers[3].show = false } else { - Viewer.imageryLayers._layers[1].show = false; - Viewer.imageryLayers._layers[2].show = true; - Viewer.imageryLayers._layers[3].show = true; + Viewer.imageryLayers._layers[1].show = false + Viewer.imageryLayers._layers[2].show = true + Viewer.imageryLayers._layers[3].show = true } }, //鏄剧ず寮圭獥 showChangeBox(res) { - if (res.name == 'Query') { - if (res.id == '6') { - } else if (res.id == '7') { + if (res.name == "Query") { + if (res.id == "6") { + } else if (res.id == "7") { } else { - this.showBufferBoxDialog = true; + this.showBufferBoxDialog = true } - } else if (res.name == 'Coord') { - if (res.id == '1') { - this.showCoordLocalBoxDialog = true; - } else if (res.id == '2') { - this.showToponymicLocalBoxDialog = true; - this.getToponymicData(); + } else if (res.name == "Coord") { + if (res.id == "1") { + this.showCoordLocalBoxDialog = true + } else if (res.id == "2") { + this.showToponymicLocalBoxDialog = true + this.getToponymicData() } - } else if (res.name == 'Analysis') { - if (res.id == '3') { - this.showPathAnalysisBoxDialog = true; + } else if (res.name == "Analysis") { + if (res.id == "3") { + this.showPathAnalysisBoxDialog = true } } }, handleSizeChange(val) { - this.listData.pageSize = val; - this.getToponymicData(); + this.listData.pageSize = val + this.getToponymicData() }, handleCurrentChange(val) { - this.listData.pageIndex = val; - this.getToponymicData(); + this.listData.pageIndex = val + this.getToponymicData() }, setQueryTable() { - this.listData.pageSize = 10; - this.listData.pageIndex = 1; - this.getToponymicData(); + this.listData.pageSize = 10 + this.listData.pageIndex = 1 + this.getToponymicData() }, async getToponymicData() { - if (this.listData.tab == '') { - delete this.listData.tab; + if (this.listData.tab == "") { + delete this.listData.tab } - this.listData.name = this.comprehensive.name; - const data = await select_Comprehensive_ByPageAndCount(this.listData); + this.listData.name = this.comprehensive.name + const data = await select_Comprehensive_ByPageAndCount(this.listData) if (data.code != 200) { - this.$message.error('鍒楄〃璋冪敤澶辫触'); + this.$message.error("鍒楄〃璋冪敤澶辫触") } - this.tableData = data.result; - this.count = data.count; + this.tableData = data.result + this.count = data.count }, async handleLocation(index, row) { - const data = await select_Comprehensive_SelectWktById({ id: row.gid }); + const data = await select_Comprehensive_SelectWktById({ id: row.gid }) if (data.code != 200) { - this.$message.error('鍒楄〃璋冪敤澶辫触'); + this.$message.error("鍒楄〃璋冪敤澶辫触") } - var val = data.result.slice(6, data.result.length - 1); - val = val.split(' '); + var val = data.result.slice(6, data.result.length - 1) + val = val.split(" ") var position = { X: parseFloat(val[0]), Y: parseFloat(val[1]), Altitude: 2000, - }; + } if (this.imagePoint != null) { - sgworld.Creator.DeleteObject(this.imagePoint); - this.imagePoint = null; + sgworld.Creator.DeleteObject(this.imagePoint) + this.imagePoint = null } this.imagePoint = sgworld.Creator.CreateLabel( position, - '', - SmartEarthRootUrl + 'Workers/image/mark.png', + "", + SmartEarthRootUrl + "Workers/image/mark.png", { disableDepthTestDistance: Infinity, scale: 0.8, }, 0, - '宸℃鐐�' - ); + "宸℃鐐�" + ) sgworld.Navigate.jumpTo({ //璺宠浆瑙嗚 @@ -536,96 +476,98 @@ parseFloat(val[1]), 10000 ), - }); + }) }, closeBufferBox(res) { switch (res) { case 1: - this.showBufferBoxDialog = false; - this.clearBuffer(); - break; + this.showBufferBoxDialog = false + this.clearBuffer() + break case 2: - this.showCoordLocalBoxDialog = false; - break; + this.showCoordLocalBoxDialog = false + break case 3: - this.showToponymicLocalBoxDialog = false; + this.showToponymicLocalBoxDialog = false if (this.imagePoint != null) { - sgworld.Creator.DeleteObject(this.imagePoint); - this.imagePoint = null; + sgworld.Creator.DeleteObject(this.imagePoint) + this.imagePoint = null } - break; + break case 4: - this.showPathAnalysisBoxDialog = false; - this.clearPathAll(3); + this.showPathAnalysisBoxDialog = false + this.clearPathAll(3) - break; + break } }, //瀹氫綅 setCoordLocal() { - var lon = parseFloat(this.coordFrom.lon); - var lat = parseFloat(this.coordFrom.lat); - var height = parseFloat(this.coordFrom.height); + var lon = parseFloat(this.coordFrom.lon) + var lat = parseFloat(this.coordFrom.lat) + var height = parseFloat(this.coordFrom.height) sgworld.Navigate.jumpTo({ //璺宠浆瑙嗚 destination: new Cesium.Cartesian3.fromDegrees(lon, lat, height), - }); + }) }, //缂撳啿鍖哄垎鏋� clearBuffer() { - if (this.buffer == null) return; - this.buffer && this.buffer.clearBuff(); - this.buffer = null; + if (this.buffer == null) return + this.buffer && this.buffer.clearBuff() + this.buffer = null }, getBufferTable(type) { const points = - this.buffer.this_buff.buff.polygon.hierarchy.getValue().positions; - let geometrys = ''; - let firstPoint; - let degrees = ''; + this.buffer.this_buff.buff.polygon.hierarchy.getValue().positions + let geometrys = "" + let firstPoint + let degrees = "" points.forEach((p, i) => { - degrees = window.sgworld.Core.toDegrees(p); - geometrys += '[' + degrees.lon + ',' + degrees.lat + '],'; - i === 0 && (firstPoint = '[' + degrees.lon + ',' + degrees.lat + ']'); - }); - geometrys += firstPoint; - if (geometrys.length != 0) geometrys.trimEnd(','); - geometrys = '{rings:[[' + geometrys + ']]}'; + degrees = window.sgworld.Core.toDegrees(p) + geometrys += "[" + degrees.lon + "," + degrees.lat + "]," + i === 0 && (firstPoint = "[" + degrees.lon + "," + degrees.lat + "]") + }) + geometrys += firstPoint + if (geometrys.length != 0) geometrys.trimEnd(",") + geometrys = "{rings:[[" + geometrys + "]]}" }, addBuffer(res) { - this.clearBuffer(); - var buffRadius = this.bufFrom.val; + this.clearBuffer() + var buffRadius = this.bufFrom.val switch (res) { case 1: - this.buffer = sgworld.Analysis.DrawPointBuffer( - buffRadius, - (event) => { - this.getBufferTable('point'); - } - ); - break; + this.buffer = sgworld.Analysis.DrawPointBuffer(buffRadius, event => { + this.getBufferTable("point") + }) + break case 2: this.buffer = sgworld.Analysis.DrawPolylineBuffer( buffRadius, - (event) => { - this.getBufferTable('line'); + event => { + this.getBufferTable("line") } - ); - break; + ) + break case 3: this.buffer = sgworld.Analysis.DrawPolygonBuffer( buffRadius, - (event) => { - this.getBufferTable('polygon'); + event => { + this.getBufferTable("polygon") } - ); - break; + ) + break } }, async showMouseLeftClick(res) { if (res == 3) { + this.$refs.form.validate(valid => { + if (!valid) { + return false + } + }) if (this.linePath != null) { - this.clearPathAll(3); + this.clearPathAll(3) } var start = this.pathFrom.lon.split(",") var end = this.pathFrom.lat.split(",") @@ -633,26 +575,24 @@ x1: parseFloat(start[0]), y1: parseFloat(start[1]), x2: parseFloat(end[0]), - y2: parseFloat(end[1]) + y2: parseFloat(end[1]), } - const data = await comprehensive_selectRoute(startData); + const data = await comprehensive_selectRoute(startData) if (data.code != 200) { - return this.$message.error('鏁版嵁璇锋眰澶辫触'); + return this.$message.error("鏁版嵁璇锋眰澶辫触") } - var wkt = this.$wkt.parse(data.result); + var wkt = this.$wkt.parse(data.result) var bufferSource = Cesium.GeoJsonDataSource.load(wkt, { stroke: new Cesium.Color(82 / 255, 152 / 255, 255 / 255, 1), - + strokeWidth: 5, clampToGround: true, }) - bufferSource.then((bufferSource) => { + bufferSource.then(bufferSource => { sgworld.Navigate.flyToObj(bufferSource) - Viewer.dataSources.add(bufferSource); - - } - ) + Viewer.dataSources.add(bufferSource) + }) // var jsonurl = // wnsUrl + // '?start=' + @@ -671,35 +611,35 @@ // }, // }); } else { - var that = this; + var that = this if (this.handler != null) { - this.clearLeftClick(); + this.clearLeftClick() } - this.handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); + this.handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas) this.handler.setInputAction(function (event) { - let cartesian = Viewer.camera.pickEllipsoid(event.position); - let cartographic = Cesium.Cartographic.fromCartesian(cartesian); + let cartesian = Viewer.camera.pickEllipsoid(event.position) + let cartographic = Cesium.Cartographic.fromCartesian(cartesian) let lng = parseFloat( Cesium.Math.toDegrees(cartographic.longitude) - ).toFixed(6); // 缁忓害 + ).toFixed(6) // 缁忓害 let lat = parseFloat( Cesium.Math.toDegrees(cartographic.latitude) - ).toFixed(6); // 绾害 + ).toFixed(6) // 绾害 if (that.linePath != null) { - that.clearPathAll(3); + that.clearPathAll(3) } if (lng != null && lat != null) { - let val = lng + ',' + lat; - var position = sgworld.Creator.CreatePosition(lng, lat, 0); + let val = lng + "," + lat + var position = sgworld.Creator.CreatePosition(lng, lat, 0) if (res == 1) { if (that.pathStart != null) { - that.clearPathAll(1); + that.clearPathAll(1) } that.pathStart = sgworld.Creator.CreateLabel( position, - '', - SmartEarthRootUrl + 'Workers/image/start.png', + "", + SmartEarthRootUrl + "Workers/image/start.png", { // 鏂囨湰鍋忕Щ閲� pixelOffset: { @@ -710,19 +650,19 @@ scale: 0.8, }, 0, - '璧峰鐐�' - ); + "璧峰鐐�" + ) - that.pathFrom.lon = val; + that.pathFrom.lon = val } else if (res == 2) { if (that.pathEnd != null) { - that.clearPathAll(2); + that.clearPathAll(2) } that.pathEnd = sgworld.Creator.CreateLabel( position, - '', - SmartEarthRootUrl + 'Workers/image/end.png', + "", + SmartEarthRootUrl + "Workers/image/end.png", { // 鏂囨湰鍋忕Щ閲� pixelOffset: { @@ -733,87 +673,87 @@ scale: 0.8, }, 0, - '缁撴潫鐐�' - ); - that.pathFrom.lat = val; + "缁撴潫鐐�" + ) + that.pathFrom.lat = val } - that.clearLeftClick(); + that.clearLeftClick() } - }, Cesium.ScreenSpaceEventType.LEFT_CLICK); + }, Cesium.ScreenSpaceEventType.LEFT_CLICK) } }, clearPathAll(res) { switch (res) { case 1: if (this.pathStart != null) { - sgworld.Creator.DeleteObject(this.pathStart); - this.pathStart = null; + sgworld.Creator.DeleteObject(this.pathStart) + this.pathStart = null } - break; + break case 2: if (this.pathEnd != null) { - sgworld.Creator.DeleteObject(this.pathEnd); - this.pathEnd = null; + sgworld.Creator.DeleteObject(this.pathEnd) + this.pathEnd = null } - break; + break case 3: if (this.pathStart != null) { - sgworld.Creator.DeleteObject(this.pathStart); - this.pathStart = null; + sgworld.Creator.DeleteObject(this.pathStart) + this.pathStart = null } if (this.pathEnd != null) { - sgworld.Creator.DeleteObject(this.pathEnd); - this.pathEnd = null; + sgworld.Creator.DeleteObject(this.pathEnd) + this.pathEnd = null } if (this.linePath != null) { - sgworld.Creator.DeleteObject(this.linePath); - this.linePath = null; + sgworld.Creator.DeleteObject(this.linePath) + this.linePath = null } - Viewer.dataSources.removeAll( ) - break; + Viewer.dataSources.removeAll() + break case 4: if (this.linePath != null) { - sgworld.Creator.DeleteObject(this.linePath); - this.linePath = null; + sgworld.Creator.DeleteObject(this.linePath) + this.linePath = null } - break; + break } }, clearLeftClick() { - this.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); //绉婚櫎浜嬩欢 - this.handler = null; + this.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK) //绉婚櫎浜嬩欢 + this.handler = null }, executeFly3D(res) { - var position = []; + var position = [] if (res) { - var positionA = res.features; + var positionA = res.features if (positionA.length > 0) { for (var i = 0; i < positionA.length; i++) { - var val = positionA[i]; - if (val.geometry.type == 'LineString') { - var val_data = val.geometry.coordinates; + var val = positionA[i] + if (val.geometry.type == "LineString") { + var val_data = val.geometry.coordinates for (var j = 0; j < val_data.length; j++) { - position.push({ x: val_data[j][0], y: val_data[j][1] }); + position.push({ x: val_data[j][0], y: val_data[j][1] }) } } } this.linePath = sgworld.Creator.createPolyline( position, - '#ffff00', + "#ffff00", 1, 0, - '绾�' - ); - sgworld.Navigate.flyToObj(this.linePath); + "绾�" + ) + sgworld.Navigate.flyToObj(this.linePath) } else { - return; + return } } }, }, -}; +} </script> <style scoped lang="less"> -- Gitblit v1.9.3