智慧农业大数据平台
xiebin
2022-11-16 3dc278f10a4c3e3db7ce3a445bed710bdc88916e
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: {
                    // 指向