From 3dc278f10a4c3e3db7ce3a445bed710bdc88916e Mon Sep 17 00:00:00 2001
From: xiebin <123456>
Date: Wed, 16 Nov 2022 17:10:51 +0800
Subject: [PATCH] 基地信息坐标有误差的问题

---
 src/components/map/index.vue |  129 +++++++++++-------------------------------
 1 files changed, 35 insertions(+), 94 deletions(-)

diff --git a/src/components/map/index.vue b/src/components/map/index.vue
index e3ad160..4571db5 100644
--- a/src/components/map/index.vue
+++ b/src/components/map/index.vue
@@ -6,6 +6,7 @@
 <script>
 // import axios from 'axios'
 import NCregion from '@/assets/region'
+import {getSensings} from '@/api/remote/remote'
 
 // 图层变量做声明
 var farmRegionLayer = null
@@ -100,7 +101,7 @@
             // 天地图 影像
             global.viewer.imageryLayers.addImageryProvider(
                 new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
-                    url: 'http://t{s}.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0',
+                    url: 'http://t{s}.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e45274b0235bb913eceb393aabbf9c9c',
                     subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
                     format: 'image/jpeg',
                     show: true,
@@ -108,79 +109,18 @@
                 })
             )
 
-            // http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdom/MapServer
 
-            // arcgis服务添加
-            global.viewer.imageryLayers.addImageryProvider(
-                new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
-                    url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengyjjddom/MapServer/WMTS',
-                    // url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdom/MapServer/WMTS',
-                    layer: 'nanchengyjjddom',
-                    style: 'default',
-                    tileMatrixSetID: 'default028mm',
-                    format: 'image/png',
-                    tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
-                    maximumLevel: 19,
-                    tileMatrixLabels: [
-                        '0',
-                        '1',
-                        '2',
-                        '3',
-                        '4',
-                        '5',
-                        '6',
-                        '7',
-                        '8',
-                        '9',
-                        '10',
-                        '11',
-                        '12',
-                        '13',
-                        '14',
-                        '15',
-                        '16',
-                        '17',
-                        '18',
-                        '19'
-                    ]
+            //获取默认展示影像
+            getSensings("SHOW").then(res=>{
+                res.data.data.forEach(e=>{
+                    global.viewer.imageryLayers.addImageryProvider(
+                        new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                          url: e.reUrl,
+                          maximumLevel: 18
+                        })
+                    )
                 })
-            )
-
-            // arcgis服务添加
-            global.viewer.imageryLayers.addImageryProvider(
-                new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
-                    url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdom/MapServer/WMTS',
-                    // url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengdom/MapServer/WMTS',
-                    layer: 'nanchengdom',
-                    style: 'default',
-                    tileMatrixSetID: 'default028mm',
-                    format: 'image/png',
-                    tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
-                    maximumLevel: 19,
-                    tileMatrixLabels: [
-                        '0',
-                        '1',
-                        '2',
-                        '3',
-                        '4',
-                        '5',
-                        '6',
-                        '7',
-                        '8',
-                        '9',
-                        '10',
-                        '11',
-                        '12',
-                        '13',
-                        '14',
-                        '15',
-                        '16',
-                        '17',
-                        '18',
-                        '19'
-                    ]
-                })
-            )
+            })
 
             // 矢量电子
             // global.viewer.imageryLayers.addImageryProvider(
@@ -192,7 +132,7 @@
             //         maximumLevel: 18
             //     })
             // )
-
+            //
             // global.viewer.imageryLayers.addImageryProvider(
             //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
             //         url: 'http://t{s}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0',
@@ -221,7 +161,6 @@
 
             // global.viewer.locationBar.enable = true
         }
-
         global.DC.ready(initViewer)
         // this.addRegionPolyLine('http://arcgis.jxpskj.com:6080/arcgis/rest/services/nanchengfwx/MapServer/0/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson')
         this.addRegionPolyLine(NCregion)
@@ -258,13 +197,14 @@
          * @param {*} positions 位置信息(范围信息)
          * @param {*} item 基地对应的所有信息(接口返回的数据)
          */
-        addPolygon (positions, item) {
+        addPolygon (item) {
             const that = this
 
-            const center = this.getCenter(positions)
+            // const center = this.getCenter(positions)
 
-            const divIcon = new global.DC.DivIcon(
-                new global.DC.Position(center[0], center[1], 0),
+            const center = global.DC.CoordTransform.GCJ02ToWGS84(item.longitude, item.latitude)
+
+            const divIcon = new global.DC.DivIcon(new global.DC.Position(center[0], center[1]),
                 `
                         <div class="farm-map-icon">
                             <img src="../../../zhny-dp/img/icon/3858.png" alt="">
@@ -453,27 +393,28 @@
          * 设置中心点
          * @param {*} name 对应站点(基地范围)的中心点 --- 对应的名字
          */
-        setCenter (name) {
-            let center
-            addLayers.forEach(item => {
-                if (name == item.name) {
-                    center = item.center
-                }
-            })
+        setCenter (farmObj) {
+            // let center
+            // addLayers.forEach(item => {
+            //     if (name == item.name) {
+            //         center = item.center
+            //     }
+            // })
 
-            if (center == '') {
-                this.$message({
-                    message: '当前基地暂未绘制',
-                    type: 'warning'
-                })
-                return
-            }
-
+            // if (center == '') {
+            //     this.$message({
+            //         message: '当前基地暂未绘制',
+            //         type: 'warning'
+            //     })
+            //     return
+            // }
+            const center = global.DC.CoordTransform.GCJ02ToWGS84(farmObj.longitude, farmObj.latitude)
             global.viewer.camera.flyTo({
                 // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
                 // fromDegrees()方法,将经纬度和高程转换为世界坐标
+
                 destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
-                    center[0], center[1], 3000.0
+                        center[0], center[1], 3000.0
                 ),
                 orientation: {
                     // 指向

--
Gitblit v1.9.3