| | |
| | | 'openDrawsb', |
| | | openDrawChiose == 'openDrawLine' ? 'activeDraw' : '', |
| | | ]" |
| | | >规划路线</el-button |
| | | > |
| | | >规划路线</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="openDrawPointMethod" |
| | |
| | | 'openDrawsb', |
| | | openDrawChiose == 'openDrawPoint' ? 'activeDraw' : '', |
| | | ]" |
| | | >规划标点</el-button |
| | | > |
| | | >规划标点</el-button> |
| | | </el-button-group> |
| | | <div id="openTitle" style="display: none">当前选择:{{ openTitle }}</div> |
| | | <el-button-group id="openDrawLine" style="display: none"> |
| | |
| | | icon="el-icon-edit" |
| | | @click="getTypeSelected" |
| | | :disabled="beginDraw" |
| | | >{{ butTitle }}</el-button |
| | | > |
| | | <el-button type="primary" @click="stopDrawOur" icon="el-icon-delete" |
| | | >取消</el-button |
| | | > |
| | | >{{ butTitle }}</el-button> |
| | | <el-button type="primary" @click="stopDrawOur" icon="el-icon-delete">取消</el-button> |
| | | </el-button-group> |
| | | <el-button-group id="openDrawPoint" style="display: none"> |
| | | <el-button |
| | |
| | | icon="el-icon-edit" |
| | | @click="getTypeSelectedPoint" |
| | | :disabled="beginDraw" |
| | | >{{ butTitlePoint }}</el-button |
| | | > |
| | | <el-button type="primary" @click="stopDrawOur" icon="el-icon-delete" |
| | | >取消</el-button |
| | | > |
| | | >{{ butTitlePoint }}</el-button> |
| | | <el-button type="primary" @click="stopDrawOur" icon="el-icon-delete">取消</el-button> |
| | | </el-button-group> |
| | | </div> |
| | | <el-button-group id="dataConfirm" style="display: none"> |
| | | <el-button type="success" icon="el-icon-check" @click="useMapData" |
| | | >确定选择</el-button |
| | | > |
| | | <el-button type="success" icon="el-icon-check" @click="useMapData">确定选择</el-button> |
| | | <!-- v-show="notNow" --> |
| | | <el-button |
| | | type="danger" |
| | | @click="clearUseMapData" |
| | | icon="el-icon-refresh-right" |
| | | >清空</el-button |
| | | > |
| | | <el-button type="danger" @click="clearUseMapData" icon="el-icon-refresh-right">清空</el-button> |
| | | </el-button-group> |
| | | <tip v-show="showTip" :title="tipTitle" :position="position"></tip> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import OLCesium from "olcs/OLCesium.js"; |
| | | import "ol/ol.css"; |
| | | import OlView from "ol/View.js"; |
| | | import XYZ from "ol/source/XYZ"; |
| | | import OlLayerTile from "ol/layer/Tile.js"; |
| | | import OlMap from "ol/Map.js"; |
| | | import tip from "./tip.vue"; |
| | | import OLCesium from "olcs/OLCesium.js" |
| | | import "ol/ol.css" |
| | | import OlView from "ol/View.js" |
| | | import XYZ from "ol/source/XYZ" |
| | | import OlLayerTile from "ol/layer/Tile.js" |
| | | import OlMap from "ol/Map.js" |
| | | import tip from "./tip.vue" |
| | | import { |
| | | // eslint-disable-next-line no-unused-vars |
| | | defaults as OlControlDefaults, |
| | |
| | | // eslint-disable-next-line no-unused-vars |
| | | ZoomToExtent, |
| | | Rotate, |
| | | } from "ol/control.js"; |
| | | } from "ol/control.js" |
| | | |
| | | import VectorLayer from "ol/layer/Vector"; |
| | | import VectorSource from "ol/source/Vector"; |
| | | import VectorLayer from "ol/layer/Vector" |
| | | import VectorSource from "ol/source/Vector" |
| | | |
| | | import { OSM, TileWMS, Vector } from "ol/source"; |
| | | import { OSM, TileWMS, Vector } from "ol/source" |
| | | // import Draw from "ol/interaction/Draw"; |
| | | import Draw from "./Draw"; |
| | | import Draw from "./Draw" |
| | | |
| | | import Feature from "ol/Feature.js"; |
| | | import Point from "ol/geom/Point.js"; |
| | | import LineString from "ol/geom/LineString.js"; |
| | | import { Icon, Style, Fill, Stroke } from "ol/style.js"; |
| | | import Feature from "ol/Feature.js" |
| | | import Point from "ol/geom/Point.js" |
| | | import LineString from "ol/geom/LineString.js" |
| | | import { Icon, Style, Fill, Stroke } from "ol/style.js" |
| | | |
| | | // import drawFence from "./drawFence"; |
| | | |
| | | import OlFeature from "ol/Feature"; |
| | | import OlGeomPoint from "ol/geom/Point"; |
| | | import OlFeature from "ol/Feature" |
| | | import OlGeomPoint from "ol/geom/Point" |
| | | // import OlLayerVector from "ol/layer/Vector"; |
| | | // import OlSourceVector from "ol/source/Vector"; |
| | | import OlStyleStyle from "ol/style/Style"; |
| | | import OlStyleIcon from "ol/style/Icon"; |
| | | import OlStyleStyle from "ol/style/Style" |
| | | import OlStyleIcon from "ol/style/Icon" |
| | | // // 用来添加相关文字描述的 |
| | | import OlStyleText from "ol/style/Text"; |
| | | import OlStyleFill from "ol/style/Fill"; |
| | | import OlStyleText from "ol/style/Text" |
| | | import OlStyleFill from "ol/style/Fill" |
| | | // import Cesium from "libs/Cesium/Cesium.js"; |
| | | |
| | | export default { |
| | |
| | | ourLayer: {}, //图层合集 |
| | | |
| | | notNow: true, //如果修改,不显示确认按钮 |
| | | }; |
| | | } |
| | | }, |
| | | computed: { |
| | | openDrawChiose() { |
| | |
| | | // this.openDrawPoint |
| | | // ); |
| | | if (this.openDrawLine) { |
| | | return "openDrawLine"; |
| | | return "openDrawLine" |
| | | } else if (this.openDrawPoint) { |
| | | return "openDrawPoint"; |
| | | return "openDrawPoint" |
| | | } else { |
| | | return "notBut---"; |
| | | return "notBut---" |
| | | } |
| | | }, |
| | | }, |
| | |
| | | // url: "http://t3.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 注记 |
| | | // }), |
| | | // }), |
| | | new OlLayerTile({ |
| | | zIndex: 4, |
| | | title: "矢量", |
| | | source: new XYZ({ |
| | | url: "http://t3.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 行政区划 |
| | | // url: "/localData/sl/{z}/{x}/{y}.png", |
| | | tileUrlFunction: function (tileCoord) { |
| | | var z = tileCoord[0]; |
| | | var x = tileCoord[1]; |
| | | var y = Math.pow(2, z) + tileCoord[2]; |
| | | return "../assets/sl/" + z + "/" + x + "/" + y + ".png"; |
| | | }, |
| | | }), |
| | | }), |
| | | |
| | | // new OlLayerTile({ |
| | | // zIndex: 4, |
| | | // title: "矢量", |
| | | // source: new XYZ({ |
| | | // url: "http://t3.tianditu.com/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 行政区划 |
| | | // // url: "/localData/sl/{z}/{x}/{y}.png", |
| | | // tileUrlFunction: function (tileCoord) { |
| | | // var z = tileCoord[0] |
| | | // var x = tileCoord[1] |
| | | // var y = Math.pow(2, z) + tileCoord[2] |
| | | // return "../assets/sl/" + z + "/" + x + "/" + y + ".png" |
| | | // }, |
| | | // }), |
| | | // }), |
| | | |
| | | // new OlLayerTile({ |
| | | // zIndex: 5, |
| | | // title: "中文注记", |
| | | // source: new XYZ({ |
| | | // url: "http://t3.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 注记 |
| | | // }), |
| | | // }), |
| | | |
| | | new OlLayerTile({ |
| | | zIndex: 5, |
| | | title: "中文注记", |
| | | title: "cesium切图", |
| | | source: new XYZ({ |
| | | url: "http://t3.tianditu.com/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 注记 |
| | | url: "/wp/{z}/{x}/{y}.png", // 注记 |
| | | }), |
| | | }), |
| | | ], |
| | |
| | | ]), |
| | | target: "map", |
| | | view: new OlView({ |
| | | center: [0, 0], |
| | | zoom: 2, |
| | | center: [116.026801, 28.683427], |
| | | zoom: 16, |
| | | projection: "EPSG:4326", |
| | | }), |
| | | }); |
| | | window.ol2d = ol2d; |
| | | }) |
| | | window.ol2d = ol2d |
| | | |
| | | var view = ol2d.getView(); |
| | | var view = ol2d.getView() |
| | | |
| | | // let provider = new Cesium.UrlTemplateImageryProvider({ |
| | | // url: "/wp/{z}/{x}/{y}.png", |
| | |
| | | // view.imageryLayers.addImageryProvider(provider); |
| | | |
| | | // view.setCenter([115.85883507433789, 28.708432053474827]) |
| | | view.setCenter([114.03858862, 27.63088262]); |
| | | |
| | | // |
| | | view.setZoom(18); |
| | | this.view = view; |
| | | const ol3d = new OLCesium({ map: window.ol2d }); |
| | | window.ol3d = ol3d; |
| | | this.view = view |
| | | const ol3d = new OLCesium({ map: window.ol2d }) |
| | | window.ol3d = ol3d |
| | | |
| | | // ol2d.addLayer(this.gunAddlayer); |
| | | // ol2d.addLayer(this.peopleAddlayer); |
| | |
| | | methods: { |
| | | clearUseMapData() { |
| | | if (this.openDrawPoint) { |
| | | this.$store.commit("setPointData", ""); //用vuex清空最终数据 |
| | | this.$store.commit("setPointData", "") //用vuex清空最终数据 |
| | | } else if (this.openDrawLine) { |
| | | this.$store.commit("setRotesData", ""); //用vuex清空最终数据 |
| | | this.$store.commit("setRotesData", "") //用vuex清空最终数据 |
| | | } |
| | | this.useMapData(); |
| | | this.useMapData() |
| | | }, |
| | | onceOnlodad(ourDatas) { |
| | | this.ourDatas = ourDatas; |
| | | this.Renders(ourDatas); |
| | | this.ourDatas = ourDatas |
| | | this.Renders(ourDatas) |
| | | }, |
| | | //加载底层路线和图标 |
| | | Renders(ourDatas) { |
| | | // for (let i in ourDatas) { |
| | | // console.log(ourDatas[i].value, "------", i); |
| | | // } |
| | | this.deleteElement(); |
| | | this.deleteElement() |
| | | for (let k in ourDatas) { |
| | | if (ourDatas[k].isLine) { |
| | | if (!ourDatas[k].value) { |
| | | // this.deleteElement("line", ourDatas[k].id); |
| | | } else { |
| | | this.addLines(ourDatas[k], "line"); |
| | | this.addLines(ourDatas[k], "line") |
| | | } |
| | | } else { |
| | | if (!ourDatas[k].value) { |
| | | // this.deleteElement("point", ourDatas[k].id); |
| | | } else { |
| | | this.addPoint(ourDatas[k], "point"); |
| | | this.addPoint(ourDatas[k], "point") |
| | | } |
| | | } |
| | | } |
| | | this.drawLayerRoom(); //重置绘画层 |
| | | this.drawLayerRoom() //重置绘画层 |
| | | }, |
| | | // 若没有value数据,删除地图上的元素 |
| | | deleteElement(name, id) { |
| | | // console.log(name, id); |
| | | // this.ourLayer[name + id].getSource().clear(); |
| | | for (let k in this.ourLayer) { |
| | | this.ourLayer[k].getSource().clear(); |
| | | this.ourLayer[k].getSource().clear() |
| | | } |
| | | }, |
| | | //加载点 |
| | |
| | | iconFeatureTitle = new OlFeature({ |
| | | geometry: new OlGeomPoint(data.value), //绘制图形(点) |
| | | }), |
| | | that = this; |
| | | that = this |
| | | iconFeature.setStyle( |
| | | new OlStyleStyle({ |
| | | image: new OlStyleIcon({ |
| | |
| | | src: "img/dingwei/dingwei5.png", |
| | | }), |
| | | }) |
| | | ); |
| | | ) |
| | | iconFeatureTitle.setStyle( |
| | | new OlStyleStyle({ |
| | | text: new OlStyleText({ |
| | |
| | | }), |
| | | }), |
| | | }) |
| | | ); |
| | | layer.getSource().addFeature(iconFeature); |
| | | layer.getSource().addFeature(iconFeatureTitle); |
| | | ) |
| | | layer.getSource().addFeature(iconFeature) |
| | | layer.getSource().addFeature(iconFeatureTitle) |
| | | //保存图层 |
| | | this.ourLayer[name + data.id] = layer; |
| | | ol2d.addLayer(that.ourLayer[name + data.id]); |
| | | this.ourLayer[name + data.id] = layer |
| | | ol2d.addLayer(that.ourLayer[name + data.id]) |
| | | // console.log(this.ourLayer, 77777); |
| | | }, |
| | | addLines(data, name) { |
| | |
| | | zIndex: 22, |
| | | source: new VectorSource(), |
| | | }), |
| | | that = this; |
| | | that = this |
| | | //绘画线路 |
| | | var entityData = ""; |
| | | var entityArr = []; |
| | | entityData = data.value.match(/\(([^)]*)\)/); |
| | | var entityData = "" |
| | | var entityArr = [] |
| | | entityData = data.value.match(/\(([^)]*)\)/) |
| | | if (entityData && entityData != "") { |
| | | entityData = entityData[1].split(","); |
| | | entityData = entityData[1].split(",") |
| | | for (var j = 0; j < entityData.length; j++) { |
| | | entityArr.push([ |
| | | Number(entityData[j].split(" ")[0]), |
| | | Number(entityData[j].split(" ")[1]), |
| | | ]); |
| | | ]) |
| | | } |
| | | } |
| | | var lineCoords = entityArr; // 线里点的集合 |
| | | var lineCoords = entityArr // 线里点的集合 |
| | | // console.log(lineCoords); |
| | | var feature_LineString = new Feature({ |
| | | //线面板 |
| | | geometry: new LineString(lineCoords), |
| | | }); |
| | | }) |
| | | feature_LineString.setStyle( |
| | | //线样式 |
| | | new Style({ |
| | |
| | | width: 5, |
| | | }), |
| | | }) |
| | | ); |
| | | ) |
| | | //线名称 |
| | | let lineFeatureTitle = new OlFeature({ |
| | | geometry: new OlGeomPoint(lineCoords[0]), //绘制图形(点) |
| | | }); |
| | | }) |
| | | lineFeatureTitle.setStyle( |
| | | new OlStyleStyle({ |
| | | text: new OlStyleText({ |
| | |
| | | }), |
| | | }), |
| | | }) |
| | | ); |
| | | layer.getSource().addFeature(lineFeatureTitle); |
| | | layer.getSource().addFeature(feature_LineString); |
| | | ) |
| | | layer.getSource().addFeature(lineFeatureTitle) |
| | | layer.getSource().addFeature(feature_LineString) |
| | | //保存图层 |
| | | this.ourLayer[name + data.id] = layer; |
| | | ol2d.addLayer(that.ourLayer[name + data.id]); |
| | | this.ourLayer[name + data.id] = layer |
| | | ol2d.addLayer(that.ourLayer[name + data.id]) |
| | | // console.log(this.ourLayer, 88888); |
| | | }, |
| | | |
| | |
| | | |
| | | //下面是选择点或线路开始按钮 |
| | | init(val, num, value) { |
| | | this.openTitle = val; |
| | | this.openTitle = val |
| | | if (value) { |
| | | this.notNow = false; |
| | | this.notNow = false |
| | | } else { |
| | | this.notNow = true; |
| | | this.notNow = true |
| | | } |
| | | //notNow来确定是修改值还是增加值 是否显示$("#dataConfirm").show(100); |
| | | this.nowIndex = num; |
| | | this.nowIndex = num |
| | | if (val.indexOf("路径") != -1) { |
| | | // console.log("加载路径按钮"); |
| | | this.controlBut("openDrawLine", this.notNow); |
| | | this.controlBut("openDrawLine", this.notNow) |
| | | } else { |
| | | // console.log("加载标点按钮"); |
| | | this.controlBut("openDrawPoint", this.notNow); |
| | | this.controlBut("openDrawPoint", this.notNow) |
| | | } |
| | | }, |
| | | controlBut(openName, notNow) { |
| | | //判断哪个dom打开 |
| | | this.closeOurBut(); |
| | | this[openName] = true; |
| | | $("#" + openName).show(); |
| | | $("#openTitle").show(); |
| | | this.closeOurBut() |
| | | this[openName] = true |
| | | $("#" + openName).show() |
| | | $("#openTitle").show() |
| | | if (!notNow) { |
| | | $("#dataConfirm").show(100); |
| | | $("#dataConfirm").show(100) |
| | | } |
| | | }, |
| | | closeOurBut(open) { |
| | | //整体关闭dom |
| | | $("#dataConfirm").hide(); |
| | | $("#openDrawPoint").hide(); |
| | | $("#openDrawLine").hide(); |
| | | $("#openTitle").hide(); |
| | | this.openDrawLine = false; |
| | | this.openDrawPoint = false; |
| | | $("#dataConfirm").hide() |
| | | $("#openDrawPoint").hide() |
| | | $("#openDrawLine").hide() |
| | | $("#openTitle").hide() |
| | | this.openDrawLine = false |
| | | this.openDrawPoint = false |
| | | if (open) { |
| | | this.openTitle = ""; |
| | | this.$parent.closeOpenedMap(); //开放按钮 |
| | | this.drawLayerRoom(); |
| | | this.openTitle = "" |
| | | this.$parent.closeOpenedMap() //开放按钮 |
| | | this.drawLayerRoom() |
| | | } |
| | | }, |
| | | //取消按钮 |
| | | stopDrawOur() { |
| | | this.closeOurBut(true); |
| | | this.closeOurBut(true) |
| | | }, |
| | | //确认数据 |
| | | useMapData() { |
| | | //返回用数据 |
| | | // console.log(this.openDrawChiose, this.nowIndex); |
| | | this.$parent.MapDataShow = false; |
| | | this.$parent.MapDataShow = false |
| | | let val = |
| | | this.openDrawChiose == "openDrawLine" |
| | | ? "line" |
| | | : this.openDrawChiose == "openDrawPoint" |
| | | ? "point" |
| | | : "notData"; |
| | | : "notData" |
| | | // console.log(val); |
| | | this.$parent.backMapDataOurData(val, this.nowIndex); |
| | | this.$parent.backMapDataOurData(val, this.nowIndex) |
| | | // 返回后关闭操作按钮 |
| | | this.closeOurBut(); |
| | | this.closeOurBut() |
| | | //清除绘画图层 |
| | | this.drawLayerRoom(); |
| | | this.drawLayerRoom() |
| | | }, |
| | | //提示位置 |
| | | setTipPosition(x, y, n, m) { |
| | | this.position.w = x + n; |
| | | this.position.h = y + m; |
| | | this.position.w = x + n |
| | | this.position.h = y + m |
| | | }, |
| | | //实时添加最上图层,为了编辑或新建路径能在最上 |
| | | drawLayerRoom() { |
| | | let that = this; |
| | | let that = this |
| | | //添加绘画图层--为了在最上层--所以每次绘画要重新添加图层 |
| | | if (that.peopleLineAddlayer) { |
| | | that.peopleLineAddlayer.getSource().clear(); |
| | | that.peopleLineAddlayer = null; |
| | | that.peopleLineAddlayer.getSource().clear() |
| | | that.peopleLineAddlayer = null |
| | | that.peopleLineAddlayer = new VectorLayer({ |
| | | zIndex: 22, |
| | | source: new VectorSource(), |
| | | }); |
| | | }) |
| | | } else { |
| | | that.peopleLineAddlayer = new VectorLayer({ |
| | | zIndex: 22, |
| | | source: new VectorSource(), |
| | | }); |
| | | }) |
| | | } |
| | | ol2d.addLayer(this.peopleLineAddlayer); |
| | | ol2d.addLayer(this.peopleLineAddlayer) |
| | | }, |
| | | |
| | | //选择绘画路线------↓ |
| | | getTypeSelected() { |
| | | let that = this; |
| | | this.beginDraw = true; |
| | | this.draw && ol2d.removeInteraction(this.draw); |
| | | let that = this |
| | | this.beginDraw = true |
| | | this.draw && ol2d.removeInteraction(this.draw) |
| | | //再根据typeSelect的值绘制新的Interaction |
| | | this.drawLayerRoom(); //重置绘画层 |
| | | this.addInteraction(); |
| | | this.drawLayerRoom() //重置绘画层 |
| | | this.addInteraction() |
| | | }, |
| | | addInteraction() { |
| | | let value = this.typeSelected, |
| | | that = this; |
| | | this.tipTitle = "单击左键或右键开始绘画"; |
| | | that = this |
| | | this.tipTitle = "单击左键或右键开始绘画" |
| | | $("#map") //提示器 |
| | | .off("mousemove") |
| | | .mousemove(function (e) { |
| | | if (!that.showTip) { |
| | | that.showTip = true; |
| | | that.showTip = true |
| | | } |
| | | that.setTipPosition(e.offsetX, e.offsetY, 10, 10); |
| | | }); |
| | | this.coordinates = []; |
| | | that.setTipPosition(e.offsetX, e.offsetY, 10, 10) |
| | | }) |
| | | this.coordinates = [] |
| | | if (value !== "None") { |
| | | this.draw = new Draw({ |
| | | source: this.DrawLayer.getSource(), |
| | |
| | | }), |
| | | coordinate: function (res) { |
| | | //画线中的点 |
| | | that.coordinates.push(res.coordinate_); |
| | | that.tipTitle = "可继续,或选择最终位置双击结束"; |
| | | that.coordinates.push(res.coordinate_) |
| | | that.tipTitle = "可继续,或选择最终位置双击结束" |
| | | }, |
| | | coordinateOver: function (res) { |
| | | // 结束绘画 处理数据 |
| | | let d = that.doData(that.coordinates); |
| | | that.addLinesDraw(d); |
| | | that.$store.commit("setRotesData", d); //用vuex传最终数据 |
| | | let d = that.doData(that.coordinates) |
| | | that.addLinesDraw(d) |
| | | that.$store.commit("setRotesData", d) //用vuex传最终数据 |
| | | }, |
| | | }); |
| | | ol2d.addInteraction(this.draw); |
| | | }) |
| | | ol2d.addInteraction(this.draw) |
| | | } |
| | | }, |
| | | //处理数据 |
| | | doData(val) { |
| | | let str = "LINESTRING("; |
| | | let str = "LINESTRING(" |
| | | for (let k = 0; k < val.length; k++) { |
| | | str += `${val[k][0]} ${val[k][1]}`; |
| | | str += `${val[k][0]} ${val[k][1]}` |
| | | if (k != val.length - 1) { |
| | | str += ","; |
| | | str += "," |
| | | } |
| | | } |
| | | str += ")"; |
| | | return str; |
| | | str += ")" |
| | | return str |
| | | }, |
| | | addLinesDraw(val) { |
| | | var that = this; |
| | | var entityData = ""; |
| | | var entityArr = []; |
| | | entityData = val.match(/\(([^)]*)\)/); |
| | | var that = this |
| | | var entityData = "" |
| | | var entityArr = [] |
| | | entityData = val.match(/\(([^)]*)\)/) |
| | | |
| | | // 此时result=["(dsfasjfj3124123)", "dsfasjfj3124123"]; |
| | | if (entityData && entityData != "") { |
| | | entityData = entityData[1].split(","); |
| | | entityData = entityData[1].split(",") |
| | | |
| | | for (var j = 0; j < entityData.length; j++) { |
| | | entityArr.push([ |
| | | Number(entityData[j].split(" ")[0]), |
| | | Number(entityData[j].split(" ")[1]), |
| | | ]); |
| | | ]) |
| | | } |
| | | } |
| | | |
| | | var lineCoords = entityArr; // 线里点的集合 |
| | | var lineCoords = entityArr // 线里点的集合 |
| | | //移动位置---暂不需要 |
| | | // var view = ol2d.getView(); |
| | | // view.setCenter([ |
| | |
| | | // 要素 |
| | | var feature_LineString = new Feature({ |
| | | geometry: new LineString(lineCoords), |
| | | }); |
| | | }) |
| | | |
| | | feature_LineString.setStyle( |
| | | new Style({ |
| | |
| | | width: 5, |
| | | }), |
| | | }) |
| | | ); |
| | | that.peopleLineAddlayer.getSource().addFeature(feature_LineString); |
| | | that.butTitle = "重新绘画"; |
| | | ) |
| | | that.peopleLineAddlayer.getSource().addFeature(feature_LineString) |
| | | that.butTitle = "重新绘画" |
| | | // if (!this.fromView) { |
| | | $("#dataConfirm").show(100); |
| | | $("#dataConfirm").show(100) |
| | | // } |
| | | if (that.draw != null) { |
| | | that.beginDraw = false; |
| | | that.draw.controlDrawing(true); |
| | | that.tipTitle = "已结束绘画,点击重新绘画清除上次内容并开始绘画"; |
| | | $("#map").unbind("mousemove"); |
| | | that.beginDraw = false |
| | | that.draw.controlDrawing(true) |
| | | that.tipTitle = "已结束绘画,点击重新绘画清除上次内容并开始绘画" |
| | | $("#map").unbind("mousemove") |
| | | // setTimeout(() => { |
| | | this.tipTitle = ""; |
| | | this.showTip = false; |
| | | this.tipTitle = "" |
| | | this.showTip = false |
| | | } |
| | | }, |
| | | //绘画路线------↑ |
| | | //绘画点-------↓ |
| | | getTypeSelectedPoint() { |
| | | this.tipTitle = "单击左键选择位置"; |
| | | let that = this; |
| | | let isHaveOne = false; |
| | | this.drawLayerRoom(); //重置绘画层 |
| | | this.tipTitle = "单击左键选择位置" |
| | | let that = this |
| | | let isHaveOne = false |
| | | this.drawLayerRoom() //重置绘画层 |
| | | $("#map") |
| | | .off("mousemove") |
| | | .mousemove(function (e) { |
| | | if (!that.showTip) { |
| | | that.showTip = true; |
| | | that.showTip = true |
| | | } |
| | | that.setTipPosition(e.offsetX, e.offsetY, 10, 10); |
| | | }); |
| | | that.setTipPosition(e.offsetX, e.offsetY, 10, 10) |
| | | }) |
| | | |
| | | if (this.typeSelected !== "None") { |
| | | this.draw = new Draw({ |
| | |
| | | coordinate: function (res) {}, |
| | | coordinateOverPoint: function (res) { |
| | | if (isHaveOne) { |
| | | return; |
| | | return |
| | | } |
| | | that.$store.commit("setPointData", res.coordinate); //用vuex传最终数据 |
| | | that.addIconMarker(res.coordinate); |
| | | isHaveOne = true; |
| | | that.$store.commit("setPointData", res.coordinate) //用vuex传最终数据 |
| | | that.addIconMarker(res.coordinate) |
| | | isHaveOne = true |
| | | }, |
| | | }); |
| | | ol2d.addInteraction(this.draw); |
| | | }) |
| | | ol2d.addInteraction(this.draw) |
| | | } |
| | | }, |
| | | addIconMarker(intlat) { |
| | | let that = this; |
| | | let that = this |
| | | let iconFeature = new OlFeature({ |
| | | geometry: new OlGeomPoint(intlat), //绘制图形(点) |
| | | }); |
| | | }) |
| | | iconFeature.setStyle( |
| | | new OlStyleStyle({ |
| | | image: new OlStyleIcon({ |
| | |
| | | src: "img/dingwei/dingwei6.png", |
| | | }), |
| | | }) |
| | | ); |
| | | that.peopleLineAddlayer.getSource().addFeature(iconFeature); |
| | | this.butTitlePoint = "重新标点"; |
| | | ) |
| | | that.peopleLineAddlayer.getSource().addFeature(iconFeature) |
| | | this.butTitlePoint = "重新标点" |
| | | if (!this.fromView) { |
| | | $("#dataConfirm").show(100); |
| | | $("#dataConfirm").show(100) |
| | | } |
| | | if (this.draw != null) { |
| | | this.draw.controlDrawing(true); |
| | | $("#map").unbind("mousemove"); |
| | | this.tipTitle = ""; |
| | | this.showTip = false; |
| | | this.draw.controlDrawing(true) |
| | | $("#map").unbind("mousemove") |
| | | this.tipTitle = "" |
| | | this.showTip = false |
| | | } |
| | | }, |
| | | //绘制点------↑ |