Browse Source

feat:简化后代码

jinx 4 years ago
parent
commit
d3cd210899
1 changed files with 1 additions and 296 deletions
  1. 1 296
      locat/addDataSet.html

+ 1 - 296
locat/addDataSet.html

@@ -162,28 +162,7 @@
             </div>
             <div class="rightBox">
                 <div id="map" class="map">
-                    <div class="plane1">
-                        <!-- 文件路径:<input type="text" id="filePath" value="./img/gangwan256.png" /><button
-                            id="upload">上传</button><br> -->
-
-                        上传地图:<input type="file" id="file" name="file" multiple="multiple" @change="handleFileChange">
-                        <br> 位置(左上角):
-                        <br> 经度:
-                        <input type="text" id="lon" v-model="uploadData.lon" /><br> 纬度:
-                        <input type="text" id="lat" v-model="uploadData.lat" /><br> 朝向(顺时针为正):
-                        <input type="text" id="direction" v-model="uploadData.direction" /><br> 大小:
-                        <input type="text" id="size" v-model="uploadData.size" /><br>
-                        <!-- <button id="ok" @click="getImage">确定</button> -->
-                        <button id="drug" @click="onDrawImage">
-                            <span v-if="!isDraw">开启拖拽</span>
-                            <span v-if="isDraw">关闭拖拽</span>
-                        </button>
-                        <button id="rotate" @click="onRotate">
-                            <span v-if="!isRotate">开启旋转</span>
-                            <span v-if="isRotate">关闭旋转</span>
-                        </button>
-                        <button id="save" @click="onSave">保存</button>
-                    </div>
+
                 </div>
 
             </div>
@@ -386,281 +365,7 @@
                             alert('失败')
                         });
                 },
-                handleFileChange(e) {
-                    const input = e.target;
-                    const files = e.target.files;
-                    if (files && files[0]) {
-                        const file = files[0];
-                        // onload 里面不能用this
-                        this.imgSrc = window.URL.createObjectURL(file);
-                        let img = new Image();
-                        img.src = this.imgSrc;
-                        let self = this;
-                        img.onload = function() {
-                            console.log(img.width, img.height)
-                            if (img.width < self.limitSize || img.height < self.limitSize) {
-                                alert('图片宽高需要大于512')
-                                input.value = '';
-                                return false;
-                            } else if (img.width != img.height) {
-                                alert('图片比例必须为1:1')
-                                input.value = '';
-                                return false;
-                            } else {
-
-                                self.file = file
-                                self.uploadData.size = img.width
-                                self.getImage()
-                            }
-                        };
-                    }
-
-                },
-                getImage() {
-                    let lon = document.getElementById("lon").value;
-                    let lat = document.getElementById("lat").value;
-                    let direction = document.getElementById("direction").value;
-                    // let url = document.getElementById("filePath").value;
-                    let url = this.imgSrc;
-                    this.showSmallMap(+lon, +lat, +direction, url)
-                },
-
-                onDrawImage() {
-                    let self = this
-                    this.isRotate = false
-                    this.rotateObj && this.rotateObj.close();
-                    this.isDraw = !this.isDraw
-                    if (this.isDraw) {
-                        this.drugObj = new Drug(canvas, ctx, img);
-                        this.drugObj.open();
-                    } else {
-                        this.drugObj.close();
-                    }
-
-                    /**
-                     * canvas 原生拖拽
-                     **/
-                    function Drug(canvas, ctx, img) {
-                        //这里禁用底图拖拽
-                        self.setMapDragPan(false)
-                        let oldX, oldY, allMoveX = 0,
-                            allMoveY = 0;
-                        canvas.draggable = false; //禁用原生拖拽
-                        let onmousedown = function(evt) {
-                            oldX = evt.x;
-                            oldY = evt.y;
-                            document.addEventListener("mousemove", onmousemove);
-                        }
-                        let onmousemove = function(evt) {
-                            if (!isNaN(oldX - evt.x)) {
-                                ctx.clearRect(0, 0, canvas.width, canvas.height);
-                                allMoveX = allMoveX + evt.x - oldX;
-                                allMoveY = allMoveY + evt.y - oldY;
-                                ctx.translate(evt.x - oldX, evt.y - oldY);
-                                self.drawImage(canvas, ctx, img);
-                                oldX = evt.x;
-                                oldY = evt.y;
-                                imageCanvas.refresh();
-                            }
-                        }
-                        let onmouseup = function(evt) {
-                            document.removeEventListener("mousemove", onmousemove);
-                        }
-                        this.open = function() {
-                            document.addEventListener("mousedown", onmousedown);
-                            document.addEventListener("mousemove", onmousemove);
-                            document.addEventListener("mouseup", onmouseup);
-                        }
-                        this.close = function() {
-                            document.removeEventListener("mousedown", onmousedown);
-                            document.removeEventListener("mousemove", onmousemove);
-                            document.removeEventListener("mouseup", onmouseup);
-                            self.setMapDragPan(true) //打开底图拖拽
-                        }
-                        this.getMoveXY = function() {
-                            this.moveX = allMoveX;
-                            this.moveY = allMoveY;
-                            return [this.moveX, this.moveY]
-                        }
-
-                        return this;
-                    }
-                },
-
-
-                onRotate() {
-                    let self = this
-                    this.isDraw = false
-                    this.drugObj && this.drugObj.close();
-                    this.isRotate = !this.isRotate
-
-                    if (this.isRotate) {
-                        this.rotateObj = new Rotate(canvas, ctx, img);
-                        this.rotateObj.open();
-                    } else {
-                        this.rotateObj.close();
-                    }
-
-
 
-                    /**
-                     * canvas 原生旋转
-                     **/
-                    function Rotate(canvas, ctx, img) {
-                        //这里禁用底图拖拽
-                        self.setMapDragPan(false)
-                        let oldX, oldY, angle = 0,
-                            angleAll = 0;
-                        canvas.draggable = false; //禁用原生拖拽
-                        let onmousedown = function(evt) {
-                            oldX = evt.x;
-                            oldY = evt.y;
-                            document.addEventListener("mousemove", onmousemove);
-                        }
-                        let onmousemove = function(evt) {
-                            if (!isNaN(oldX - evt.x)) {
-                                ctx.clearRect(0, 0, canvas.width, canvas.height);
-                                let tana = (oldY - evt.y) / (evt.x - oldX);
-                                angle = 0.02 * Math.atan(tana);
-                                angleAll = angleAll + angle;
-                                ctx.translate(128, 128);
-                                ctx.rotate(angle);
-                                ctx.translate(-128, -128);
-                                self.drawImage(canvas, ctx, img)
-                                imageCanvas.refresh();
-                            }
-                        }
-                        let onmouseup = function(evt) {
-                            document.removeEventListener("mousemove", onmousemove);
-                        }
-                        this.open = function() {
-                            document.addEventListener("mousedown", onmousedown);
-                            document.addEventListener("mousemove", onmousemove);
-                            document.addEventListener("mouseup", onmouseup);
-                        }
-                        this.close = function() {
-                            document.removeEventListener("mousedown", onmousedown);
-                            document.removeEventListener("mousemove", onmousemove);
-                            document.removeEventListener("mouseup", onmouseup);
-                            self.setMapDragPan(true) //打开底图拖拽
-                        }
-                        this.getAngle = function() {
-                            this.angle = angleAll
-                            return this.angle;
-                        }
-                        return this;
-                    }
-                },
-
-                onSave() {
-                    let lon = document.getElementById("lon").value;
-                    let lat = document.getElementById("lat").value;
-                    let direction = document.getElementById("direction").value;
-                    let size = document.getElementById("size").value;
-                    this.save(+lon, +lat, +direction, +size, this.drugObj, this.rotateObj)
-                },
-
-                showSmallMap(lon, lat, direction, imageUrl) {
-                    let canvasOption = {};
-                    let isFirst = true;
-                    canvasOption.canvasFunction = (extent, resolution, pixelRatio, size, projection) => {
-                        if (isFirst) {
-                            isFirst = false;
-                            canvas = document.createElement('canvas');
-                            canvas.width = size[0];
-                            canvas.height = size[1];
-                            //Canvas四至范围不同于当前地图四至范围,计算出南北方向与东西方向的偏移
-                            let mapExtent = this.map.getView().calculateExtent(this.map
-                                .getSize()); //当前底图视图范围的投影坐标
-                            let canvasOrigin = this.map.getPixelFromCoordinate([extent[0], extent[
-                                3]]); //添加到地图上的canvas图像的左上角
-                            let mapOrigin = this.map.getPixelFromCoordinate([mapExtent[0], mapExtent[3]]);
-                            let delta = [mapOrigin[0] - canvasOrigin[0], mapOrigin[1] - canvasOrigin[1]];
-                            let leftTop = this.map.getPixelFromCoordinate(ol.proj.fromLonLat([lon, lat]));
-                            //canvas原生加载图片
-                            ctx = canvas.getContext('2d');
-                            img = new Image();
-                            img.src = imageUrl;
-                            img.onload = () => {
-                                ctx.translate(leftTop[0] + delta[0], leftTop[1] + delta[1])
-                                ctx.translate(128, 128)
-                                ctx.rotate(direction * (Math.PI / 180))
-                                ctx.translate(-128, -128)
-                                this.drawImage(canvas, ctx, img)
-                            }
-                            return canvas;
-                        }
-                    }
-                    imageCanvas = new ol.source.ImageCanvas(canvasOption);
-                    imageCanvasLayer = new ol.layer.Image({
-                        source: imageCanvas
-                    });
-                    this.map.addLayer(imageCanvasLayer);
-                    this.map.getView().setCenter(ol.proj.fromLonLat([lon, lat]));
-                    this.map.getView().setZoom(19)
-                },
-
-                save(lon, lat, direction, size, drugObj, rotateObj) {
-                    let saveLonLat, saveAngle;
-                    if (drugObj) {
-                        let moveXY = drugObj.getMoveXY();
-                        let leftTop = this.map.getPixelFromCoordinate(ol.proj.fromLonLat([lon, lat]));
-                        let pixelX = moveXY[0] + leftTop[0];
-                        let pixelY = moveXY[1] + leftTop[1];
-                        saveLonLat = this.map.getCoordinateFromPixel([pixelX, pixelY]);
-                        saveLonLat = ol.proj.toLonLat(saveLonLat);
-
-                    } else {
-                        saveLonLat = [lon, lat]
-                    }
-                    if (rotateObj) {
-                        saveAngle = rotateObj.getAngle() * 180 / Math.PI + Number(direction);
-
-                    } else {
-                        saveAngle = direction
-                    }
-                    let save = {
-                        lonlat: saveLonLat,
-                        angle: saveAngle,
-                        size: size
-                    }
-                    console.log(save) //保存到数据库去
-
-
-                    let location = saveLonLat;
-                    if (location.length == 2) {
-                        location.push(0)
-                    }
-                    let formData = new FormData()
-                    formData.append('file', this.file)
-                    formData.append('location', location)
-                    formData.append('orientation', saveAngle)
-                        // formData.append('sceneCode', this.sceneNum)
-                        // formData.append('sceneCode', 't810')
-                    axios.post('indoor/' + this.sceneNum + '/api/map/upload', formData)
-                        // axios.post('http://192.168.0.135:9294/indoor/t810/api/map/upload', formData)
-                        .then(function(response) {
-                            alert('成功')
-                        })
-                        .catch(function(error) {
-                            alert('失败')
-                        });
-
-                },
-
-
-
-                drawImage(canvas, ctx, img) {
-                    ctx.clearRect(0, 0, canvas.width, canvas.height);
-                    ctx.drawImage(img, 0, 0); //canvas 从左上角开始绘制
-                },
-
-                setMapDragPan(bool) {
-                    this.map.getInteractions().forEach(function(element, index, array) {
-                        if (element instanceof ol.interaction.DragPan)
-                            element.setActive(bool);
-                    });
-                }
 
             }
         })