shuishen
2023-04-12 ac59d030fef13920f65b65e9fe0b09d086547be7
电子沙盘三维BUG
4 files modified
84 ■■■■■ changed files
src/components/map/index.vue 64 ●●●● patch | view | raw | blame | history
src/utils/tools/DrawTool.js 9 ●●●●● patch | view | raw | blame | history
src/utils/tools/EditTool.js 7 ●●●● patch | view | raw | blame | history
vue.config.js 4 ●●●● patch | view | raw | blame | history
src/components/map/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 17:00:30
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-04-12 14:49:54
 * @LastEditTime: 2023-04-12 17:13:01
 * @FilePath: \srs-police-affairs\src\components\map\index.vue
 * @Description: 公用地图组件
 * 
@@ -675,40 +675,44 @@
            baseLayers = []
            // baseLayers = global.viewer.imageryLayers.addImageryProvider(
            //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
            //         url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/{z}/{x}/{reverseY}.png`,
            //         minimumLevel: 0,
            //         maximumLevel: 25,
            //         tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
            //     })
            // )
            const layer = global.viewer.imageryLayers.addImageryProvider(
                new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
                    url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/{z}/{x}/{reverseY}.png`,
                    minimumLevel: 0,
                    maximumLevel: 25,
                    tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
                })
            )
            yxLayerJson.forEach(item => {
                let rectangle = {}
            layer.contrast = 0.8
                if (item.west != 0 && item.south != 0 && item.east != 0 && item.north != 0) {
                    rectangle = { rectangle: global.DC.Namespace.Cesium.Rectangle.fromDegrees(Number(item.west), Number(item.south), Number(item.east), Number(item.north)) }
                }
            baseLayers.push(layer)
                const layer = global.viewer.imageryLayers.addImageryProvider(
                    new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
                        url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/${item.name}/{AZ}/{y}/{x}.png`,
                        customTags: {
                            AZ (imageryProvider, x, y, level) {
                                return 'Z' + level
                            },
                        },
                        minimumLevel: 0,
                        maximumLevel: 25,
                        ...rectangle
                    })
                )
            // yxLayerJson.forEach(item => {
            //     let rectangle = {}
                layer.contrast = 0.8
            //     if (item.west != 0 && item.south != 0 && item.east != 0 && item.north != 0) {
            //         rectangle = { rectangle: global.DC.Namespace.Cesium.Rectangle.fromDegrees(Number(item.west), Number(item.south), Number(item.east), Number(item.north)) }
            //     }
                baseLayers.push(layer)
            })
            //     const layer = global.viewer.imageryLayers.addImageryProvider(
            //         new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
            //             url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/${item.name}/{AZ}/{y}/{x}.png`,
            //             customTags: {
            //                 AZ (imageryProvider, x, y, level) {
            //                     return 'Z' + level
            //                 },
            //             },
            //             minimumLevel: 0,
            //             maximumLevel: 25,
            //             ...rectangle
            //         })
            //     )
            //     layer.contrast = 0.8
            //     baseLayers.push(layer)
            // })
            // baseLayers = global.viewer.imageryLayers.addImageryProvider(
            //     new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
src/utils/tools/DrawTool.js
@@ -19,7 +19,7 @@
class DrawTool {
    constructor() {
        this._viewer = undefined
        this._anchorLayer = new global.DC.Namespace.Cesium.CustomDataSource('draw-anchor-layer')
        this._anchorLayer = undefined
        this._floatingAnchor = undefined
        this._options = {}
        this._plotEvent = new PlotEvent()
@@ -88,10 +88,10 @@
     * @private
     */
    _onCreateAnchor ({ position, isCenter = false }) {
        console.log(this._options, 6633333)
        return this._anchorLayer.entities.add({
            position: position,
            billboard: {
                show: true,
                image: isCenter ? this._options.icon_center : this._options.icon_anchor,
                width: this._options.icon_size[0],
                height: this._options.icon_size[1],
@@ -178,6 +178,9 @@
     * @returns {DrawTool}
     */
    activate (options = {}) {
        this._anchorLayer = new global.DC.Namespace.Cesium.CustomDataSource('draw-anchor-layer')
        this._viewer.dataSources.add(this._anchorLayer)
        this._viewer.tooltip.enable = true
        this._options = { ...DEF_OPTS, ...options }
        this._unbindEvent()
@@ -195,6 +198,7 @@
        this._viewer.tooltip.enable = false
        this._anchorLayer.entities.removeAll()
        this._floatingAnchor = undefined
        this._viewer.dataSources.remove(this._anchorLayer)
        return this
    }
@@ -204,7 +208,6 @@
     */
    install (viewer) {
        this._viewer = viewer
        this._viewer.dataSources.add(this._anchorLayer)
        Object.defineProperty(this._viewer, 'curDrawTool', {
            value: this,
            writable: true,
src/utils/tools/EditTool.js
@@ -22,7 +22,7 @@
class EditTool {
    constructor() {
        this._viewer = undefined
        this._anchorLayer = new global.DC.Namespace.Cesium.CustomDataSource('edit-anchor-layer')
        this._anchorLayer = undefined
        this._options = {}
        this._plotEvent = new PlotEvent()
        this._tooltipMess = undefined
@@ -245,6 +245,9 @@
     * @returns {EditTool}
     */
    activate (options = {}) {
        this._anchorLayer = new global.DC.Namespace.Cesium.CustomDataSource('edit-anchor-layer')
        this._viewer.dataSources.add(this._anchorLayer)
        this._viewer.tooltip.enable = true
        this._options = { ...DEF_OPTS, ...options }
        this._unbindEvent()
@@ -262,6 +265,7 @@
        this._viewer.tooltip.enable = false
        this._anchorLayer.entities.removeAll()
        this._anchors = []
        this._viewer.dataSources.remove(this._anchorLayer)
        return this
    }
@@ -271,7 +275,6 @@
     */
    install (viewer) {
        this._viewer = viewer
        this._viewer.dataSources.add(this._anchorLayer)
        Object.defineProperty(this._viewer, 'curEditTool', {
            value: this,
            writable: true,
vue.config.js
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-09-07 09:37:07
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-04-10 16:40:05
 * @LastEditTime: 2023-04-12 16:21:17
 * @FilePath: \srs-police-affairs\vue.config.js
 * @Description:
 *
@@ -162,7 +162,7 @@
            "/api": {
                // target用于配置你允许访问数据的计算机名称,即是你的api接口的服务器地址
                // target: "http://localhost:82",
                target: "http://192.168.0.100:82",
                target: "http://106.225.193.35:82",
                // target: "http://17.20.10.3:82",
                // target: "http://10.141.11.11:8081/api",
                // ws: true, //启用webSocket6566