Przeglądaj źródła

+ bd定位融合功能

chen.cheng 9 miesięcy temu
rodzic
commit
de9936f197

Plik diff jest za duży
+ 2756 - 0
ruoyi-ui/public/bd/BDLayers.js


Plik diff jest za duży
+ 1 - 0
ruoyi-ui/public/bd/jquery-2.2.4.min.js


+ 204 - 199
ruoyi-ui/public/index.html

@@ -1,208 +1,213 @@
 <!DOCTYPE html>
 <html>
-  <head>
+<head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="renderer" content="webkit">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <title><%= webpackConfig.name %></title>
-    <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
-	  <style>
-    html,
-    body,
-    #app {
-      height: 100%;
-      margin: 0px;
-      padding: 0px;
-    }
-    .chromeframe {
-      margin: 0.2em 0;
-      background: #ccc;
-      color: #000;
-      padding: 0.2em 0;
-    }
-
-    #loader-wrapper {
-      position: fixed;
-      top: 0;
-      left: 0;
-      width: 100%;
-      height: 100%;
-      z-index: 999999;
-    }
-
-    #loader {
-      display: block;
-      position: relative;
-      left: 50%;
-      top: 50%;
-      width: 150px;
-      height: 150px;
-      margin: -75px 0 0 -75px;
-      border-radius: 50%;
-      border: 3px solid transparent;
-      border-top-color: #FFF;
-      -webkit-animation: spin 2s linear infinite;
-      -ms-animation: spin 2s linear infinite;
-      -moz-animation: spin 2s linear infinite;
-      -o-animation: spin 2s linear infinite;
-      animation: spin 2s linear infinite;
-      z-index: 1001;
-    }
-
-    #loader:before {
-      content: "";
-      position: absolute;
-      top: 5px;
-      left: 5px;
-      right: 5px;
-      bottom: 5px;
-      border-radius: 50%;
-      border: 3px solid transparent;
-      border-top-color: #FFF;
-      -webkit-animation: spin 3s linear infinite;
-      -moz-animation: spin 3s linear infinite;
-      -o-animation: spin 3s linear infinite;
-      -ms-animation: spin 3s linear infinite;
-      animation: spin 3s linear infinite;
-    }
-
-    #loader:after {
-      content: "";
-      position: absolute;
-      top: 15px;
-      left: 15px;
-      right: 15px;
-      bottom: 15px;
-      border-radius: 50%;
-      border: 3px solid transparent;
-      border-top-color: #FFF;
-      -moz-animation: spin 1.5s linear infinite;
-      -o-animation: spin 1.5s linear infinite;
-      -ms-animation: spin 1.5s linear infinite;
-      -webkit-animation: spin 1.5s linear infinite;
-      animation: spin 1.5s linear infinite;
-    }
-
-
-    @-webkit-keyframes spin {
-      0% {
-        -webkit-transform: rotate(0deg);
-        -ms-transform: rotate(0deg);
-        transform: rotate(0deg);
-      }
-      100% {
-        -webkit-transform: rotate(360deg);
-        -ms-transform: rotate(360deg);
-        transform: rotate(360deg);
-      }
-    }
-
-    @keyframes spin {
-      0% {
-        -webkit-transform: rotate(0deg);
-        -ms-transform: rotate(0deg);
-        transform: rotate(0deg);
-      }
-      100% {
-        -webkit-transform: rotate(360deg);
-        -ms-transform: rotate(360deg);
-        transform: rotate(360deg);
-      }
-    }
-
-
-    #loader-wrapper .loader-section {
-      position: fixed;
-      top: 0;
-      width: 51%;
-      height: 100%;
-      background: #7171C6;
-      z-index: 1000;
-      -webkit-transform: translateX(0);
-      -ms-transform: translateX(0);
-      transform: translateX(0);
-    }
-
-    #loader-wrapper .loader-section.section-left {
-      left: 0;
-    }
-
-    #loader-wrapper .loader-section.section-right {
-      right: 0;
-    }
-
-
-    .loaded #loader-wrapper .loader-section.section-left {
-      -webkit-transform: translateX(-100%);
-      -ms-transform: translateX(-100%);
-      transform: translateX(-100%);
-      -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
-      transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
-    }
-
-    .loaded #loader-wrapper .loader-section.section-right {
-      -webkit-transform: translateX(100%);
-      -ms-transform: translateX(100%);
-      transform: translateX(100%);
-      -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
-      transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
-    }
-
-    .loaded #loader {
-      opacity: 0;
-      -webkit-transition: all 0.3s ease-out;
-      transition: all 0.3s ease-out;
-    }
-
-    .loaded #loader-wrapper {
-      visibility: hidden;
-      -webkit-transform: translateY(-100%);
-      -ms-transform: translateY(-100%);
-      transform: translateY(-100%);
-      -webkit-transition: all 0.3s 1s ease-out;
-      transition: all 0.3s 1s ease-out;
-    }
-
-    .no-js #loader-wrapper {
-      display: none;
-    }
-
-    .no-js h1 {
-      color: #222222;
-    }
-
-    #loader-wrapper .load_title {
-      font-family: 'Open Sans';
-      color: #FFF;
-      font-size: 19px;
-      width: 100%;
-      text-align: center;
-      z-index: 9999999999999;
-      position: absolute;
-      top: 60%;
-      opacity: 1;
-      line-height: 30px;
-    }
-
-    #loader-wrapper .load_title span {
-      font-weight: normal;
-      font-style: italic;
-      font-size: 13px;
-      color: #FFF;
-      opacity: 0.5;
-    }
-  </style>
-  </head>
-  <body>
-    <div id="app">
-	    <div id="loader-wrapper">
-		    <div id="loader"></div>
-		    <div class="loader-section section-left"></div>
-		    <div class="loader-section section-right"></div>
-		    <div class="load_title">正在加载系统资源,请耐心等待</div>
-        </div>
-	</div>
-  </body>
+    <script src="<%= BASE_URL %>bd/jquery-2.2.4.min.js" crossorigin="anonymous"></script>
+    <script type="text/javascript" src="<%= BASE_URL %>bd/BDLayers.js"></script>
+    <!--[if lt IE 11]>
+    <script>window.location.href = '/html/ie.html';</script><![endif]-->
+    <style>
+        html,
+        body,
+        #app {
+            height: 100%;
+            margin: 0px;
+            padding: 0px;
+        }
+
+        .chromeframe {
+            margin: 0.2em 0;
+            background: #ccc;
+            color: #000;
+            padding: 0.2em 0;
+        }
+
+        #loader-wrapper {
+            position: fixed;
+            top: 0;
+            left: 0;
+            width: 100%;
+            height: 100%;
+            z-index: 999999;
+        }
+
+        #loader {
+            display: block;
+            position: relative;
+            left: 50%;
+            top: 50%;
+            width: 150px;
+            height: 150px;
+            margin: -75px 0 0 -75px;
+            border-radius: 50%;
+            border: 3px solid transparent;
+            border-top-color: #FFF;
+            -webkit-animation: spin 2s linear infinite;
+            -ms-animation: spin 2s linear infinite;
+            -moz-animation: spin 2s linear infinite;
+            -o-animation: spin 2s linear infinite;
+            animation: spin 2s linear infinite;
+            z-index: 1001;
+        }
+
+        #loader:before {
+            content: "";
+            position: absolute;
+            top: 5px;
+            left: 5px;
+            right: 5px;
+            bottom: 5px;
+            border-radius: 50%;
+            border: 3px solid transparent;
+            border-top-color: #FFF;
+            -webkit-animation: spin 3s linear infinite;
+            -moz-animation: spin 3s linear infinite;
+            -o-animation: spin 3s linear infinite;
+            -ms-animation: spin 3s linear infinite;
+            animation: spin 3s linear infinite;
+        }
+
+        #loader:after {
+            content: "";
+            position: absolute;
+            top: 15px;
+            left: 15px;
+            right: 15px;
+            bottom: 15px;
+            border-radius: 50%;
+            border: 3px solid transparent;
+            border-top-color: #FFF;
+            -moz-animation: spin 1.5s linear infinite;
+            -o-animation: spin 1.5s linear infinite;
+            -ms-animation: spin 1.5s linear infinite;
+            -webkit-animation: spin 1.5s linear infinite;
+            animation: spin 1.5s linear infinite;
+        }
+
+
+        @-webkit-keyframes spin {
+            0% {
+                -webkit-transform: rotate(0deg);
+                -ms-transform: rotate(0deg);
+                transform: rotate(0deg);
+            }
+            100% {
+                -webkit-transform: rotate(360deg);
+                -ms-transform: rotate(360deg);
+                transform: rotate(360deg);
+            }
+        }
+
+        @keyframes spin {
+            0% {
+                -webkit-transform: rotate(0deg);
+                -ms-transform: rotate(0deg);
+                transform: rotate(0deg);
+            }
+            100% {
+                -webkit-transform: rotate(360deg);
+                -ms-transform: rotate(360deg);
+                transform: rotate(360deg);
+            }
+        }
+
+
+        #loader-wrapper .loader-section {
+            position: fixed;
+            top: 0;
+            width: 51%;
+            height: 100%;
+            background: #7171C6;
+            z-index: 1000;
+            -webkit-transform: translateX(0);
+            -ms-transform: translateX(0);
+            transform: translateX(0);
+        }
+
+        #loader-wrapper .loader-section.section-left {
+            left: 0;
+        }
+
+        #loader-wrapper .loader-section.section-right {
+            right: 0;
+        }
+
+
+        .loaded #loader-wrapper .loader-section.section-left {
+            -webkit-transform: translateX(-100%);
+            -ms-transform: translateX(-100%);
+            transform: translateX(-100%);
+            -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+            transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+        }
+
+        .loaded #loader-wrapper .loader-section.section-right {
+            -webkit-transform: translateX(100%);
+            -ms-transform: translateX(100%);
+            transform: translateX(100%);
+            -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+            transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
+        }
+
+        .loaded #loader {
+            opacity: 0;
+            -webkit-transition: all 0.3s ease-out;
+            transition: all 0.3s ease-out;
+        }
+
+        .loaded #loader-wrapper {
+            visibility: hidden;
+            -webkit-transform: translateY(-100%);
+            -ms-transform: translateY(-100%);
+            transform: translateY(-100%);
+            -webkit-transition: all 0.3s 1s ease-out;
+            transition: all 0.3s 1s ease-out;
+        }
+
+        .no-js #loader-wrapper {
+            display: none;
+        }
+
+        .no-js h1 {
+            color: #222222;
+        }
+
+        #loader-wrapper .load_title {
+            font-family: 'Open Sans';
+            color: #FFF;
+            font-size: 19px;
+            width: 100%;
+            text-align: center;
+            z-index: 9999999999999;
+            position: absolute;
+            top: 60%;
+            opacity: 1;
+            line-height: 30px;
+        }
+
+        #loader-wrapper .load_title span {
+            font-weight: normal;
+            font-style: italic;
+            font-size: 13px;
+            color: #FFF;
+            opacity: 0.5;
+        }
+    </style>
+</head>
+<body>
+<div id="app">
+    <div id="loader-wrapper">
+        <div id="loader"></div>
+        <div class="loader-section section-left"></div>
+        <div class="loader-section section-right"></div>
+        <div class="load_title">正在加载系统资源,请耐心等待</div>
+    </div>
+</div>
+</body>
+
 </html>

+ 1 - 1
ruoyi-ui/src/permission.js

@@ -8,7 +8,7 @@ import { isRelogin } from '@/utils/request'
 
 NProgress.configure({ showSpinner: false })
 
-const whiteList = ['/login', '/register']
+const whiteList = ['/login', '/register','/bd/']
 
 router.beforeEach((to, from, next) => {
   NProgress.start()

+ 9 - 5
ruoyi-ui/src/router/index.js

@@ -1,11 +1,10 @@
-import Vue from 'vue'
-import Router from 'vue-router'
+/* Layout */
+import Layout from '@/layout';
+import Vue from 'vue';
+import Router from 'vue-router';
 
 Vue.use(Router)
 
-/* Layout */
-import Layout from '@/layout'
-
 /**
  * Note: 路由配置项
  *
@@ -46,6 +45,11 @@ export const constantRoutes = [
     component: () => import('@/views/login'),
     hidden: true
   },
+    {
+      path: '/bd',
+      component: () => import('@/views/bd/index'),
+      hidden: true,
+    },
   {
     path: '/register',
     component: () => import('@/views/register'),

+ 46 - 0
ruoyi-ui/src/views/bd/index.scss

@@ -0,0 +1,46 @@
+
+.bd-container {
+  width: 100%;
+  height: 100%;
+  position: relative;
+  $header-height: 60px;
+
+  .header {
+    position: absolute;
+    top: 0;
+    left: 0;
+    height: $header-height;
+    width: 100%;
+    background: linear-gradient(to bottom, #060624ba 30%, #06062466 80%, #06062400 100%);
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    color: #fefefe;
+    font-size: 20px;
+    font-weight: bolder;
+  }
+
+  .left-container {
+    position: absolute;
+    top: $header-height;
+    left: 0;
+    height: calc(100% - #{$header-height});
+    width: 20%;
+    box-sizing: border-box;
+    background: linear-gradient(180deg, #060624ba 50%, #06062400 100%);
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: flex-start;
+  }
+
+  .right-container {
+    position: absolute;
+    top: $header-height;
+    right: 0;
+    width: 20%;
+    height: calc(100% - #{$header-height});
+    box-sizing: border-box;
+    background: linear-gradient(180deg, #060624ba 50%, #06062400 100%);
+  }
+}

+ 37 - 0
ruoyi-ui/src/views/bd/index.vue

@@ -0,0 +1,37 @@
+<template>
+  <div class="bd-container">
+    <bd-map :loaded="loaded" />
+    <div class="header">北斗定位融合</div>
+    <div class="left-container">
+      <location />
+    </div>
+    <div class="right-container">
+
+    </div>
+  </div>
+</template>
+
+<script>
+
+import Location from '@/views/bd/location/index.vue';
+import BdMap from '@/views/bd/map/index.vue';
+
+export default {
+  name: 'bd',
+  components: {
+    Location,
+    BdMap,
+  },
+  data() {
+    return {};
+  },
+  created() {
+  },
+  methods: {
+    loaded(map) {
+      console.log(map);
+    },
+  },
+};
+</script>
+<style lang="scss" src="./index.scss" />

BIN
ruoyi-ui/src/views/bd/location/img/bg_evt_stat.png


+ 37 - 0
ruoyi-ui/src/views/bd/location/img/bg_main_title_bg.svg

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="342px" height="20px" viewBox="0 0 342 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>bg_标题_342_n</title>
+    <defs>
+        <linearGradient x1="87.5410483%" y1="50.0468908%" x2="1.31711231%" y2="50%" id="linearGradient-1">
+            <stop stop-color="#4F9FFF" stop-opacity="0" offset="0%"></stop>
+            <stop stop-color="#4F9FFF" stop-opacity="0.24728799" offset="100%"></stop>
+        </linearGradient>
+        <linearGradient x1="87.5410483%" y1="50.008513%" x2="1.31711231%" y2="50%" id="linearGradient-2">
+            <stop stop-color="#4F9FFF" stop-opacity="0" offset="0%"></stop>
+            <stop stop-color="#4F9FFF" stop-opacity="0.5" offset="100%"></stop>
+        </linearGradient>
+        <linearGradient x1="87.5410483%" y1="50.0004689%" x2="1.31711231%" y2="50%" id="linearGradient-3">
+            <stop stop-color="#4F9FFF" stop-opacity="0" offset="0%"></stop>
+            <stop stop-color="#4F9FFF" stop-opacity="0.5" offset="100%"></stop>
+        </linearGradient>
+    </defs>
+    <g id="综合监测-大屏" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="1-1综合监测-宏观" transform="translate(-1554.000000, -118.000000)">
+            <g id="重点关注事件" transform="translate(1548.000000, 92.000000)">
+                <g id="bg_标题_342_n" transform="translate(6.000000, 12.000000)">
+                    <g transform="translate(0.000000, 14.000000)" id="矩形">
+                        <rect fill="url(#linearGradient-1)" x="6" y="0" width="336" height="20"></rect>
+                        <rect fill="#4F9FFF" x="3" y="4" width="4" height="4"></rect>
+                        <rect fill="#4F9FFF" x="0" y="11" width="2" height="2"></rect>
+                        <rect fill="#4F9FFF" x="6" y="13" width="3" height="3"></rect>
+                        <rect fill="#4F9FFF" x="8" y="8" width="3" height="3"></rect>
+                        <rect fill="#0C1E33" x="13" y="5" width="3" height="3"></rect>
+                        <rect fill="#4F9FFF" x="5" y="10" width="2" height="2"></rect>
+                        <polygon fill="url(#linearGradient-2)" points="34 5 136.07803 5 141.200326 9 310 12 34 12"></polygon>
+                        <rect fill="url(#linearGradient-3)" x="6" y="18" width="336" height="2"></rect>
+                    </g>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 66 - 0
ruoyi-ui/src/views/bd/location/index.scss

@@ -0,0 +1,66 @@
+.pannel {
+  width: 100%;
+
+  .pannel-header {
+    width: 100%;
+    height: 40px;
+    padding: 0 10px;
+    margin: 0;
+    display: flex;
+    align-items: center;
+    justify-content: flex-start;
+    background: url("./img/bg_main_title_bg.svg") 100% 100% no-repeat;
+    background-size: contain;
+    font-family: PingFangSC-Medium;
+    font-size: 16px;
+    color: #E8F3FF;
+    letter-spacing: 0;
+    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.50);
+    font-weight: 500;
+  }
+
+  .pannel-body {
+    width: 100%;
+    margin-top: 10px;
+  }
+}
+
+.location-list {
+  width: 100%;
+  padding: 0 10px;
+
+  .list-item {
+    padding: 0 10px;
+    height: 30px;
+    box-sizing: border-box;
+    background: url("./img/bg_evt_stat.png") 100% 100% no-repeat;
+    background-size: 100% 100%;
+    color: #fefefe;
+    display: flex;
+    align-items: flex-start;
+    justify-content: flex-start;
+
+    > span {
+      &:not(:first-child) {
+        margin-left: 10px;
+      }
+
+      i {
+        &:hover {
+          color: #00afff;
+          cursor: pointer;
+        }
+
+        &:not(:first-child) {
+          margin-left: 5px;
+        }
+      }
+    }
+  }
+}
+
+.over-flow-hidden {
+  white-space: nowrap; //强制文本在一行内输出
+  overflow: hidden; //隐藏溢出部分
+  text-overflow: ellipsis; //对溢出部分加上...
+}

+ 79 - 0
ruoyi-ui/src/views/bd/location/index.vue

@@ -0,0 +1,79 @@
+<template>
+  <div class="devc-location-container pannel">
+    <div class="pannel-header">轨迹查询</div>
+    <div class="pannel-body">
+      <div class="location-list">
+        <div class="list-item">
+          <span class="over-flow-hidden" style="width: 40%">
+            定位设备1定位设备
+          </span>
+          <span class="over-flow-hidden" style="width: 40%">
+            2024-08-21 15:30
+          </span>
+          <span class="over-flow-hidden" style="width: 20%">
+            <i
+                :class="playItem[1]&&playItem[1].play ? 'el-icon-video-pause':'el-icon-video-play'"
+                :title="playItem[1]&&playItem[1].play ? '暂停': '开始播放' "
+                @click="()=>onLocationPlay({key:1})"
+            />
+            <i class="el-icon-circle-close" title="清空轨迹" @click="clearLocation" />
+          </span>
+        </div>
+        <div class="list-item">
+          <span class="over-flow-hidden" style="width: 40%">
+            定位设备1定位设备
+          </span>
+          <span class="over-flow-hidden" style="width: 40%">
+            2024-08-21 15:30
+          </span>
+          <span class="over-flow-hidden" style="width: 20%">
+            <i
+                :class="playItem[2]&&playItem[2].play ? 'el-icon-video-pause':'el-icon-video-play'"
+                :title="playItem[2]&&playItem[2].play ? '暂停': '开始播放' "
+                @click="()=>onLocationPlay({key:2})"
+            />
+            <i class="el-icon-circle-close" title="清空轨迹" @click="clearLocation" />
+          </span>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+
+export default {
+  name: 'location',
+  data() {
+    return {
+      playItem: {},
+    };
+  },
+  created() {
+  },
+  methods: {
+    loaded(map) {
+      console.log(map);
+    },
+    onLocationPlay({ key }) {
+      if (this.playItem[key]) {
+        this.playItem = {
+          [key]: {
+            play: !this.playItem[key].play,
+          },
+        };
+      } else {
+        this.playItem = {
+          [key]: {
+            play: true,
+          },
+        };
+      }
+    },
+    clearLocation() {
+
+    },
+  },
+};
+</script>
+<style lang="scss" src="./index.scss" />

+ 115 - 0
ruoyi-ui/src/views/bd/map/index.vue

@@ -0,0 +1,115 @@
+<template>
+  <div id="map" class="map" style="width: 100%;height: 100%">
+
+  </div>
+</template>
+
+<script>
+
+export default {
+  name: 'bd-map',
+  props: {
+    loaded: {
+      type: Function,
+      default: () => {},
+    },
+  },
+  mounted() {
+
+    this.$nextTick(() => {
+      const options = {
+        mapType: BDLayers.Lib.Constant.BaseLayerType.Blank,
+        mapModel: BDLayers.Lib.Constant.BaseLayerModel.Satellite,
+        center: [108.95965, 34.2189],
+        defaultZoom: 14,
+        showCenter: false,
+        baseControl: true,
+        pitch: 45,
+        lights: {
+          directional: {
+            direction: [-1, -1, -1],
+            color: [1, 1, 1],
+          },
+          ambient: {
+            exposure: 1.426,
+            hsv: [0, 0, 0],
+            orientation: 302.553,
+          },
+        },
+      };
+      bdmap.mapWrapper.loadMainMap('map', options);
+      this.mapView = bdmap.mapWrapper.MainMap('map');
+      this.mapView.createGLScense({
+        sceneConfig: {
+          environment: {
+            enable: true, // 是否开启环境天空盒绘制
+            mode: 1, // 天空盒模式: 0: 氛围模式, 1: 实景模式
+            level: 0, // 实景模式下的模糊级别,0-3
+            brightness: 0.915, // 天空盒的明亮度,-1 - 1, 默认为0
+          },
+          postProcess: {
+            enable: true, // 是否开启后处理
+          },
+          ground: {
+            enable: true, // 是否开启地面绘制
+            renderPlugin: { // 地面的绘制插件,取值范围 lit(pbr) 或者 fill(phong)
+              type: 'lit', // 用pbr材质渲染三维面数据的渲染插件
+            },
+            symbol: {
+              polygonOpacity: 1, // 透明度 0-1
+              material: { // 如果绘制插件为lit,设置pbr材质
+                baseColorFactor: [0.48235, 0.48235, 0.48235, 1], // 基础色,四位归一化数组
+                hsv: [
+                  0, 0, -
+                      0.532,
+                ], // hsv颜色参数,三位分别是hue,saturation,value,即色相,饱和度和明度,每一位的取值范围都是0-1
+                roughnessFactor: 0.22, // 粗糙度,取值范围 0 - 1,0为最光滑,1为最粗糙
+                metallicFactor: 0.58, // 金属度,取值范围 0 - 1,0为非金属,1为金属
+              },
+            },
+          },
+        },
+      });
+      // http://200.200.19.253:31838/bdgis/folder/zy9?time=1728373968099
+      const d3tiles = new BDLayers.Lib.Layer.CB3DtilesLayer('3dtiles', {
+        offet: {
+          from: 'GCJ02',
+          to: 'WGS84',
+        },
+        mapView: this.mapView,
+        maxCacheSize: 10000,
+        services: [
+          {
+            url: 'http://127.0.0.1:8800/bdgis/folder/zy9/tileset.json', //"http://resource.dvgis.cn/data/3dtiles/dayanta/tileset.json",
+            maximumScreenSpaceError: 16.0,
+            heightOffset: 0, //-420,
+          },
+        ],
+      });
+      const satelliteTileLayer = new BDLayers.Lib.Layer.CBTileLayer('blayer_tdt_s', {
+        url: [
+          'http://t{s}.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=' + BDLayers.Lib
+              .Constant.WebMapKeys.Tianditu,
+          'http://t{s}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=' + BDLayers.Lib
+              .Constant.WebMapKeys.Tianditu,
+        ],
+        subdomains: '01234567',
+        maxZoom: [18, 18],
+        minZoom: [3, 3],
+      });
+      this.mapView.addCustomLayers(satelliteTileLayer, -1, true);
+      window.map = this.mapView;
+      this.loaded(this.mapView);
+    });
+  },
+  data() {
+    return {
+      mapView: null,
+    };
+  },
+  created() {
+  },
+  methods: {},
+};
+</script>
+

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików