图层加载
This commit is contained in:
commit
f5ba7cc503
|
@ -12,7 +12,7 @@
|
|||
"core-js": "^3.8.3",
|
||||
"element-ui": "^2.15.9",
|
||||
"file-saver": "^2.0.5",
|
||||
"jquery": "^3.6.0",
|
||||
"jquery": "^3.7.0",
|
||||
"js-cookie": "^3.0.5",
|
||||
"jsencrypt": "^3.3.2",
|
||||
"nprogress": "^0.2.0",
|
||||
|
@ -20,7 +20,8 @@
|
|||
"sass-loader": "^10.1.0",
|
||||
"vue": "^2.6.14",
|
||||
"vue-router": "^3.1.3",
|
||||
"vuex": "^3.6.0"
|
||||
"vuex": "^3.6.0",
|
||||
"ztree": "^3.5.24"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.12.16",
|
||||
|
@ -6521,9 +6522,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/jquery": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.6.0.tgz",
|
||||
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.0.tgz",
|
||||
"integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ=="
|
||||
},
|
||||
"node_modules/js-cookie": {
|
||||
"version": "3.0.5",
|
||||
|
@ -10888,6 +10889,14 @@
|
|||
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz",
|
||||
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ztree": {
|
||||
"version": "3.5.24",
|
||||
"resolved": "https://registry.npmjs.org/ztree/-/ztree-3.5.24.tgz",
|
||||
"integrity": "sha512-hQsLLJ+oaVzptXQX/Qgq1I2+zbA0d5iqJ4CbFEMwlXhqIzvW9r3Dqcn6eFzs4KJCDVxPvIDU5XdMafpr2p5yRg==",
|
||||
"dependencies": {
|
||||
"jquery": ">=1.4.4"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
|
@ -15953,9 +15962,9 @@
|
|||
}
|
||||
},
|
||||
"jquery": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.6.0.tgz",
|
||||
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.0.tgz",
|
||||
"integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ=="
|
||||
},
|
||||
"js-cookie": {
|
||||
"version": "3.0.5",
|
||||
|
@ -19356,6 +19365,14 @@
|
|||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"ztree": {
|
||||
"version": "3.5.24",
|
||||
"resolved": "https://registry.npmjs.org/ztree/-/ztree-3.5.24.tgz",
|
||||
"integrity": "sha512-hQsLLJ+oaVzptXQX/Qgq1I2+zbA0d5iqJ4CbFEMwlXhqIzvW9r3Dqcn6eFzs4KJCDVxPvIDU5XdMafpr2p5yRg==",
|
||||
"requires": {
|
||||
"jquery": ">=1.4.4"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
"core-js": "^3.8.3",
|
||||
"element-ui": "^2.15.9",
|
||||
"file-saver": "^2.0.5",
|
||||
"jquery": "^3.6.0",
|
||||
"jquery": "^3.7.0",
|
||||
"js-cookie": "^3.0.5",
|
||||
"jsencrypt": "^3.3.2",
|
||||
"nprogress": "^0.2.0",
|
||||
|
@ -20,7 +20,8 @@
|
|||
"sass-loader": "^10.1.0",
|
||||
"vue": "^2.6.14",
|
||||
"vue-router": "^3.1.3",
|
||||
"vuex": "^3.6.0"
|
||||
"vuex": "^3.6.0",
|
||||
"ztree": "^3.5.24"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.12.16",
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -34,6 +34,16 @@ Geowin3DAPP.prototype.addDefaultTerrain = function (tilename) {
|
|||
}
|
||||
this.terrainManager.visible = true;
|
||||
}
|
||||
|
||||
Geowin3DAPP.prototype.addTerrain = function (url) {
|
||||
if(this.terrainManager == null){
|
||||
this.terrainManager = new Geowin3D.GwTools.GwTerrain( this._viewer);
|
||||
this.terrainManager.setTerrain(url, "STK", []);
|
||||
return ;
|
||||
}
|
||||
this.terrainManager.visible = true;
|
||||
}
|
||||
|
||||
Geowin3DAPP.prototype.setImageProvider = function (tilename) {
|
||||
this._viewer.scene.imageryLayers.removeAll();
|
||||
this._viewer.imageryLayers.addImageryProvider( new Geowin3D.GeowinMapImageryProvider({ tilename: tilename }));
|
||||
|
@ -63,6 +73,48 @@ Geowin3DAPP.prototype.load3DTileset = function (options) {
|
|||
this.layers.push(tileset);
|
||||
return tileset;
|
||||
}
|
||||
Geowin3DAPP.prototype.loadGLTF = function (options) {
|
||||
if(!options.position){
|
||||
options.position = generateLocation();
|
||||
}
|
||||
var origin = Geowin3D.Cartesian3.fromDegrees(options.position[0], options.position[1], options.position[2]);
|
||||
|
||||
var model = this._viewer.scene.primitives.add(Geowin3D.Model.fromGltf({
|
||||
url: options.url,
|
||||
scale:options.scale,
|
||||
modelMatrix :Geowin3D.Transforms.eastNorthUpToFixedFrame(origin)
|
||||
//minimumPixelSize: 128
|
||||
}));
|
||||
|
||||
var that = this;
|
||||
model.readyPromise.then(function(model){
|
||||
that._viewer.flyTo(model);
|
||||
}).otherwise(function(error){
|
||||
console.log("模型加载失败:"+error);
|
||||
})
|
||||
|
||||
|
||||
this.layers.push(model);
|
||||
return model;
|
||||
}
|
||||
|
||||
function generateLocation(){
|
||||
var centerLng,centerLat;
|
||||
centerLng = 116.397499;
|
||||
centerLat = 39.908722;
|
||||
|
||||
var latOffset,lngOffset;
|
||||
lngOffset = Math.random()*0.001 - 0.0005;
|
||||
latOffset = Math.random()*0.001 - 0.0005;
|
||||
|
||||
var lng = centerLng+lngOffset;
|
||||
lat = centerLat+latOffset;
|
||||
return [
|
||||
lng,
|
||||
lat,
|
||||
0
|
||||
]
|
||||
}
|
||||
|
||||
Geowin3DAPP.prototype.remove3DTileset = function (tileset) {
|
||||
this._viewer.scene.primitives.remove(tileset)
|
||||
|
@ -78,6 +130,42 @@ Geowin3DAPP.prototype.addImageLayer = function (options) {
|
|||
return this.getViewer().imageryLayers.addImageryProvider(new Geowin3D.WebMapTileServiceImageryProvider({
|
||||
url: options.url
|
||||
}));
|
||||
if (options.tdtUrl != null)
|
||||
return this.getViewer().imageryLayers.addImageryProvider(new Geowin3D.WebMapTileServiceImageryProvider({
|
||||
url:
|
||||
"http://{s}.tianditu.gov.cn/img_c/wmts?service=wmts&request=GetTile&version=1.0.0" +
|
||||
"&LAYER=img&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +
|
||||
"&style=default&format=tiles&tk=8b44b0161ca27be9b972b7f2cc943248",
|
||||
layer: "tdtCva",
|
||||
style: "default",
|
||||
format: "tiles",
|
||||
tileMatrixSetID: "c",
|
||||
subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
|
||||
tilingScheme: new Cesium.GeographicTilingScheme(),
|
||||
tileMatrixLabels: [
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
"13",
|
||||
"14",
|
||||
"15",
|
||||
"16",
|
||||
"17",
|
||||
"18",
|
||||
"19",
|
||||
],
|
||||
// maximumLevel: 18,
|
||||
show: false,
|
||||
}));
|
||||
return null;
|
||||
}
|
||||
Geowin3DAPP.prototype.removeImageLayer = function (layer) {
|
||||
|
|
11
src/main.js
11
src/main.js
|
@ -16,10 +16,19 @@ import '@/assets/css/common.css'
|
|||
import '@/assets/iconfont/iconfont.css'
|
||||
import '@/utils/flexible.js'
|
||||
|
||||
import $ from 'jquery';
|
||||
// import $ from 'jquery';
|
||||
// window.jQuery = $
|
||||
// window.$ = $
|
||||
|
||||
import 'ztree/js/jquery-1.4.4.min.js'
|
||||
window.jQuery = $
|
||||
window.$ = $
|
||||
|
||||
import 'ztree/js/jquery.ztree.core.min.js'
|
||||
import 'ztree/js/jquery.ztree.excheck.min.js'
|
||||
import 'ztree/css/zTreeStyle/zTreeStyle.css'
|
||||
|
||||
|
||||
new Vue({
|
||||
render: h => h(App),
|
||||
router,
|
||||
|
|
|
@ -15,8 +15,8 @@ router.beforeEach((to, from, next) => {
|
|||
if (getToken()) {
|
||||
// to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
|
||||
/* has token*/
|
||||
if (to.path === '/login') {
|
||||
next({ path: '/' })
|
||||
if (to.path === '/') {
|
||||
next({ path: '/home' })
|
||||
NProgress.done()
|
||||
} else {
|
||||
if (store.getters.roles.length === 0) {
|
||||
|
|
|
@ -29,17 +29,30 @@
|
|||
"children": [
|
||||
{
|
||||
"id": 11,
|
||||
"name": "影像",
|
||||
"layername": "sate",
|
||||
"type": "geowintms",
|
||||
"checked": true
|
||||
"name": "天地图影像",
|
||||
"type": "knowntms",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"name": "地形",
|
||||
"layername": "dem",
|
||||
"type": "geowindem",
|
||||
"checked": true
|
||||
"name": "高德影像",
|
||||
"url": "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
|
||||
"type": "tms",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"name": "高德影像注记",
|
||||
"url": "http://webst02.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scale=1&style=8",
|
||||
"type": "tms",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"name": "全球地形",
|
||||
"url": "https://terrain.gbim360.com/",
|
||||
"type": "dem",
|
||||
"checked": false
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -56,49 +69,49 @@
|
|||
{
|
||||
"id": 211,
|
||||
"name": "黄花长城",
|
||||
"layername": "osgb_huanghuachangcheng",
|
||||
"url": "http://10.241.127.11:8080/mapdata/osgb/黄花城长城模型/tileset.json",
|
||||
"type": "tileset"
|
||||
},
|
||||
{
|
||||
"id": 212,
|
||||
"name": "baimaguan",
|
||||
"layername": "osgb_baimaguan",
|
||||
"url": "http://10.241.127.11:8080/mapdata/osgb/old_village/baimaguan/tileset.json",
|
||||
"type": "tileset"
|
||||
},
|
||||
{
|
||||
"id": 213,
|
||||
"name": "jijiaying",
|
||||
"layername": "osgb_jijiaying",
|
||||
"url": "http://10.241.127.11:8080/mapdata/osgb/old_village/jijiaying/tileset.json",
|
||||
"type": "tileset"
|
||||
},
|
||||
{
|
||||
"id": 214,
|
||||
"name": "shangyu",
|
||||
"layername": "osgb_shangyu",
|
||||
"url": "http://10.241.127.11:8080/mapdata/osgb/old_village/shangyu/tileset.json",
|
||||
"type": "tileset"
|
||||
},
|
||||
{
|
||||
"id": 215,
|
||||
"name": "xiaokou",
|
||||
"layername": "osgb_xiaokou",
|
||||
"url": "http://10.241.127.11:8080/mapdata/osgb/old_village/xiaokou/tileset.json",
|
||||
"type": "tileset"
|
||||
},
|
||||
{
|
||||
"id": 216,
|
||||
"name": "xiaying",
|
||||
"layername": "osgb_xiaying",
|
||||
"url": "http://10.241.127.11:8080/mapdata/osgb/old_village/xiaying/tileset.json",
|
||||
"type": "tileset"
|
||||
},
|
||||
{
|
||||
"id": 217,
|
||||
"name": "xituogu",
|
||||
"layername": "osgb_xituogu",
|
||||
"url": "http://10.241.127.11:8080/mapdata/osgb/old_village/xituogu/tileset.json",
|
||||
"type": "tileset"
|
||||
},
|
||||
{
|
||||
"id": 218,
|
||||
"name": "yaoqiaoyu",
|
||||
"layername": "osgb_yaoqiaoyu",
|
||||
"url": "http://10.241.127.11:8080/mapdata/osgb/old_village/yaoqiaoyu/tileset.json",
|
||||
"type": "tileset"
|
||||
}
|
||||
]
|
||||
|
@ -108,7 +121,32 @@
|
|||
"name": "GLTF模型",
|
||||
"children": [
|
||||
{
|
||||
"name": ""
|
||||
"id": 221,
|
||||
"name": "采煤车",
|
||||
"url": "http://10.241.127.11:8080/mapdata/gltf/采煤车.glb",
|
||||
"scale":10,
|
||||
"type": "gltf"
|
||||
},
|
||||
{
|
||||
"id": 221,
|
||||
"name": "掘进机",
|
||||
"url": "http://10.241.127.11:8080/mapdata/gltf/掘进机.glb",
|
||||
"scale":10,
|
||||
"type": "gltf"
|
||||
},
|
||||
{
|
||||
"id": 221,
|
||||
"name": "液压支架",
|
||||
"url": "http://10.241.127.11:8080/mapdata/gltf/液压支架.glb",
|
||||
"scale":10,
|
||||
"type": "gltf"
|
||||
},{
|
||||
"id": 221,
|
||||
"name": "塔杆",
|
||||
"url": "/crane.gltf",
|
||||
"scale":10,
|
||||
"type": "gltf"
|
||||
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -117,7 +155,16 @@
|
|||
"name": "BIM模型",
|
||||
"children": [
|
||||
{
|
||||
"name": "煤矿"
|
||||
"id": 231,
|
||||
"name": "油罐BIM",
|
||||
"url": "http://10.241.127.11:8080/mapdata/fbx/tiles/tileset.json",
|
||||
"type": "tileset"
|
||||
},
|
||||
{
|
||||
"id": 232,
|
||||
"name": "机房BIM",
|
||||
"url": "http://10.241.127.11:8080/mapdata/bim数据/anquanju_5.17/tileset.json",
|
||||
"type": "tileset"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -135,8 +182,8 @@
|
|||
"name": "建筑白膜",
|
||||
"children": [
|
||||
{
|
||||
"name": "北京",
|
||||
"layername": "building_beijing",
|
||||
"name": "北京全区",
|
||||
"url":"http://10.241.127.11:8080/mapdata/建筑白膜/北京/tileset.json",
|
||||
"type": "tileset"
|
||||
}
|
||||
]
|
||||
|
|
|
@ -17,7 +17,7 @@ const service = axios.create({
|
|||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||||
baseURL: 'http://10.241.173.163:18888/',
|
||||
// 超时
|
||||
timeout: 10000
|
||||
timeout: 600000
|
||||
})
|
||||
|
||||
// request拦截器
|
||||
|
|
|
@ -1,15 +1,31 @@
|
|||
<template>
|
||||
<div class="home">
|
||||
<ul class="login">
|
||||
<li class="item" >{{ name }}</li>
|
||||
<li class="item">
|
||||
<div style="width: 100%;">
|
||||
<el-dropdown class="avatar-container right-menu-item hover-effect"
|
||||
trigger="click">
|
||||
<div class="avatar-wrapper">
|
||||
<span style="color: #377dff;">{{ name }}</span>
|
||||
<img :src="avatar"
|
||||
class="user-avatar">
|
||||
<i class="el-icon-caret-bottom" />
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item divided
|
||||
@click.native="logout">
|
||||
<span>退出登录</span>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="header d-between">
|
||||
<div class="title d-around">
|
||||
<img
|
||||
:src="require('@/assets/images/icon-project.png')"
|
||||
alt=""
|
||||
width="48"
|
||||
/>
|
||||
<img :src="require('@/assets/images/icon-project.png')"
|
||||
alt=""
|
||||
width="48" />
|
||||
<div class="title-text">城市时空大数据行业应用服务平台</div>
|
||||
</div>
|
||||
<ul class="d-flex menu-ul">
|
||||
|
@ -22,31 +38,29 @@
|
|||
</div>
|
||||
<!-- 轮播 start-->
|
||||
<div class="showImg">
|
||||
<img
|
||||
@mouseover="changeInterval(true)"
|
||||
@mouseleave="changeInterval(false)"
|
||||
v-for="item in imgArr"
|
||||
:key="item.id"
|
||||
:src="item.url"
|
||||
alt="暂无图片"
|
||||
v-show="item.id === currentIndex"
|
||||
/>
|
||||
<img @mouseover="changeInterval(true)"
|
||||
@mouseleave="changeInterval(false)"
|
||||
v-for="item in imgArr"
|
||||
:key="item.id"
|
||||
:src="item.url"
|
||||
alt="暂无图片"
|
||||
v-show="item.id === currentIndex" />
|
||||
|
||||
<div @click="clickIcon('up')" class="iconDiv icon-left">
|
||||
<div @click="clickIcon('up')"
|
||||
class="iconDiv icon-left">
|
||||
<!-- <i class="el-icon-caret-left"></i> -->
|
||||
</div>
|
||||
|
||||
<div @click="clickIcon('down')" class="iconDiv icon-right">
|
||||
<div @click="clickIcon('down')"
|
||||
class="iconDiv icon-right">
|
||||
<!-- <i class="el-icon-caret-right"></i> -->
|
||||
</div>
|
||||
<div class="banner-circle">
|
||||
<ul>
|
||||
<li
|
||||
@click="changeImg(item.id)"
|
||||
v-for="item in imgArr"
|
||||
:key="item.id"
|
||||
:class="item.id === currentIndex ? 'active1' : ''"
|
||||
></li>
|
||||
<li @click="changeImg(item.id)"
|
||||
v-for="item in imgArr"
|
||||
:key="item.id"
|
||||
:class="item.id === currentIndex ? 'active1' : ''"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -95,9 +109,11 @@
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="online_map" @click="goTo('/maps')">
|
||||
<div class="online_map"
|
||||
@click="goTo('/maps')">
|
||||
<div class="title">在线地图</div>
|
||||
<img :src="require('@/assets/images/bg-homepage_map.png')" alt="">
|
||||
<img :src="require('@/assets/images/bg-homepage_map.png')"
|
||||
alt="">
|
||||
</div>
|
||||
<div class="base_data">
|
||||
<div class="title">基础数据服务</div>
|
||||
|
@ -122,8 +138,11 @@
|
|||
<span class="span2">Application cases</span>
|
||||
</div>
|
||||
<ul class="anli-ul d-between">
|
||||
<li class="anli-item d-between" @click="goToNewSystem(0)">
|
||||
<img :src="require('@/assets/images/anli1.png')" alt="" width="48" />
|
||||
<li class="anli-item d-between"
|
||||
@click="goToNewSystem(0)">
|
||||
<img :src="require('@/assets/images/anli1.png')"
|
||||
alt=""
|
||||
width="48" />
|
||||
<div>
|
||||
<div class="title">门头沟乡村振兴</div>
|
||||
<div class="content">
|
||||
|
@ -132,8 +151,11 @@
|
|||
</div>
|
||||
</li>
|
||||
<div class="line"></div>
|
||||
<li class="anli-item d-between" @click="goToNewSystem(1)">
|
||||
<img :src="require('@/assets/images/anli2.png')" alt="" width="48" />
|
||||
<li class="anli-item d-between"
|
||||
@click="goToNewSystem(1)">
|
||||
<img :src="require('@/assets/images/anli2.png')"
|
||||
alt=""
|
||||
width="48" />
|
||||
<div>
|
||||
<div class="title">韧性城市</div>
|
||||
<div class="content">
|
||||
|
@ -142,8 +164,11 @@
|
|||
</div>
|
||||
</li>
|
||||
<div class="line"></div>
|
||||
<li class="anli-item d-between" @click="goToNewSystem(2)">
|
||||
<img :src="require('@/assets/images/anli3.png')" alt="" width="48" />
|
||||
<li class="anli-item d-between"
|
||||
@click="goToNewSystem(2)">
|
||||
<img :src="require('@/assets/images/anli3.png')"
|
||||
alt=""
|
||||
width="48" />
|
||||
<div>
|
||||
<div class="title">超高层大型建筑安全监测</div>
|
||||
<div class="content">
|
||||
|
@ -158,37 +183,37 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {getAllInfo} from "@/api/home/index.js"
|
||||
import { mapGetters, mapState } from "vuex";
|
||||
import { getAllInfo } from "@/api/home/index.js"
|
||||
import { mapGetters,mapState } from "vuex";
|
||||
export default {
|
||||
name: "home",
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
currentIndex: 0, //当前所在图片下标
|
||||
timer: null, //定时轮询
|
||||
casesUrl:[
|
||||
casesUrl: [
|
||||
"http://210.45.212.110:8080",
|
||||
null,
|
||||
"http://49.232.160.156:8090/#/index/home"
|
||||
],
|
||||
imgArr: [
|
||||
{ id: 0, url: require("@/assets/images/lunbo1.png") }
|
||||
{ id: 0,url: require("@/assets/images/lunbo1.png") }
|
||||
],
|
||||
dataInfo:{
|
||||
layerCount:null,
|
||||
dataSize:null,
|
||||
accessCount:null,
|
||||
visitToday:null,
|
||||
userCount:null
|
||||
dataInfo: {
|
||||
layerCount: null,
|
||||
dataSize: null,
|
||||
accessCount: null,
|
||||
visitToday: null,
|
||||
userCount: null
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapState(["user"]),
|
||||
...mapGetters(["name"]),
|
||||
},
|
||||
...mapState(["user"]),
|
||||
...mapGetters(["name"]),
|
||||
},
|
||||
//进入页面后启动定时轮询
|
||||
mounted() {
|
||||
mounted () {
|
||||
this.startInterval();
|
||||
this.initialize();
|
||||
this.getAllDataInfo()
|
||||
|
@ -196,27 +221,38 @@ export default {
|
|||
methods: {
|
||||
|
||||
// 获取数据总览
|
||||
getAllDataInfo(){
|
||||
getAllInfo().then(res=>{
|
||||
getAllDataInfo () {
|
||||
getAllInfo().then(res => {
|
||||
console.log(res)
|
||||
if(res.code === 200){
|
||||
this.dataInfo = res.data
|
||||
} else{
|
||||
|
||||
if(res.code===200) {
|
||||
this.dataInfo=res.data
|
||||
} else {
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
goTo(name){
|
||||
async logout() {
|
||||
this.$confirm('确定注销并退出系统吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$store.dispatch('LogOut').then(() => {
|
||||
location.href = '/';
|
||||
})
|
||||
}).catch(() => {});
|
||||
},
|
||||
goTo (name) {
|
||||
this.$router.push({
|
||||
path:name
|
||||
path: name
|
||||
});
|
||||
},
|
||||
initialize(){
|
||||
initialize () {
|
||||
|
||||
},
|
||||
goToNewSystem(index){
|
||||
const url = this.casesUrl[index];
|
||||
if(url == "undefined" || url == null){
|
||||
goToNewSystem (index) {
|
||||
const url=this.casesUrl[index];
|
||||
if(url=="undefined"||url==null) {
|
||||
this.$message({
|
||||
message: '暂无当前系统',
|
||||
type: 'info'
|
||||
|
@ -225,13 +261,13 @@ export default {
|
|||
}
|
||||
window.open(url);
|
||||
},
|
||||
dateItemClick(event) {
|
||||
dateItemClick (event) {
|
||||
console.log(event);
|
||||
$(event.currentTarget)
|
||||
.addClass("active")
|
||||
.siblings()
|
||||
.removeClass("active");
|
||||
if (event.target.innerText == "在线地图") {
|
||||
if(event.target.innerText=="在线地图") {
|
||||
this.$router.push(`/maps`);
|
||||
} else if (event.target.innerText == "应用示范") {
|
||||
this.$message({
|
||||
|
@ -245,43 +281,43 @@ export default {
|
|||
}
|
||||
},
|
||||
//开启定时器
|
||||
startInterval() {
|
||||
startInterval () {
|
||||
// 事件里定时器应该先清除在设置,防止多次点击直接生成多个定时器
|
||||
clearInterval(this.timer);
|
||||
this.timer = setInterval(() => {
|
||||
this.timer=setInterval(() => {
|
||||
this.currentIndex++;
|
||||
if (this.currentIndex > this.imgArr.length - 1) {
|
||||
this.currentIndex = 0;
|
||||
if(this.currentIndex>this.imgArr.length-1) {
|
||||
this.currentIndex=0;
|
||||
}
|
||||
}, 3000);
|
||||
},3000);
|
||||
},
|
||||
// 点击左右箭头
|
||||
clickIcon(val) {
|
||||
if (val === "down") {
|
||||
clickIcon (val) {
|
||||
if(val==="down") {
|
||||
this.currentIndex++;
|
||||
if (this.currentIndex === this.imgArr.length) {
|
||||
this.currentIndex = 0;
|
||||
if(this.currentIndex===this.imgArr.length) {
|
||||
this.currentIndex=0;
|
||||
}
|
||||
} else {
|
||||
/* 第一种写法
|
||||
this.currentIndex--;
|
||||
if(this.currentIndex < 0){
|
||||
this.currentIndex = this.imgArr.length-1;
|
||||
} */
|
||||
this.currentIndex--;
|
||||
if(this.currentIndex < 0){
|
||||
this.currentIndex = this.imgArr.length-1;
|
||||
} */
|
||||
// 第二种写法
|
||||
if (this.currentIndex === 0) {
|
||||
this.currentIndex = this.imgArr.length;
|
||||
if(this.currentIndex===0) {
|
||||
this.currentIndex=this.imgArr.length;
|
||||
}
|
||||
this.currentIndex--;
|
||||
}
|
||||
},
|
||||
// 点击控制圆点
|
||||
changeImg(index) {
|
||||
this.currentIndex = index;
|
||||
changeImg (index) {
|
||||
this.currentIndex=index;
|
||||
},
|
||||
//鼠标移入移出控制
|
||||
changeInterval(val) {
|
||||
if (val) {
|
||||
changeInterval (val) {
|
||||
if(val) {
|
||||
clearInterval(this.timer);
|
||||
} else {
|
||||
this.startInterval();
|
||||
|
@ -295,7 +331,7 @@ export default {
|
|||
.home {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: url("../assets/images/back.png") no-repeat;
|
||||
background: url('../assets/images/back.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
position: relative;
|
||||
.login {
|
||||
|
@ -305,12 +341,14 @@ export default {
|
|||
width: 8rem;
|
||||
height: 2rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid #46535a;
|
||||
border-radius: 1.25rem;
|
||||
.item {
|
||||
width: 50%;
|
||||
cursor: pointer;
|
||||
|
||||
text-align: center;
|
||||
color: #377dff;
|
||||
}
|
||||
|
@ -356,7 +394,7 @@ export default {
|
|||
.data_screen {
|
||||
width: 43.75rem;
|
||||
height: 19.5625rem;
|
||||
background: url("../assets/images/bg-homepage_box1.png") no-repeat;
|
||||
background: url('../assets/images/bg-homepage_box1.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
.title {
|
||||
width: 18.0625rem;
|
||||
|
@ -426,7 +464,7 @@ export default {
|
|||
.base_data {
|
||||
height: 19.5625rem;
|
||||
width: 20.5625rem;
|
||||
background: url("../assets/images/bg-homepage_box2.png") no-repeat;
|
||||
background: url('../assets/images/bg-homepage_box2.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
.title {
|
||||
font-size: 1.875rem;
|
||||
|
@ -436,7 +474,7 @@ export default {
|
|||
width: calc(100% - 1.625rem);
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
background: url("../assets/images/title_bg.png") no-repeat;
|
||||
background: url('../assets/images/title_bg.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
background-position-y: 100%;
|
||||
}
|
||||
|
@ -462,7 +500,7 @@ export default {
|
|||
.base_func {
|
||||
height: 19.5625rem;
|
||||
width: 20.5625rem;
|
||||
background: url("../assets/images/bg-homepage_box3.png") no-repeat;
|
||||
background: url('../assets/images/bg-homepage_box3.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
.title {
|
||||
font-size: 1.875rem;
|
||||
|
@ -472,7 +510,7 @@ export default {
|
|||
width: calc(100% - 1.625rem);
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
background: url("../assets/images/title_bg.png") no-repeat;
|
||||
background: url('../assets/images/title_bg.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
background-position-y: 100%;
|
||||
}
|
||||
|
@ -583,12 +621,12 @@ export default {
|
|||
}
|
||||
.icon-left {
|
||||
left: 1.25rem;
|
||||
background: url("../assets/images/left.png") no-repeat;
|
||||
background: url('../assets/images/left.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.icon-right {
|
||||
right: 1.25rem;
|
||||
background: url("../assets/images/right.png") no-repeat;
|
||||
background: url('../assets/images/right.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
</div>
|
||||
<ul class="d-flex menu-ul">
|
||||
<li class="menu-item">
|
||||
<router-link to="/" class="route-btn">首页</router-link>
|
||||
<router-link to="/home" class="route-btn">首页</router-link>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<router-link to="/maps" class="route-btn" active-class="active">在线地图</router-link>
|
||||
|
|
|
@ -74,7 +74,7 @@ export default {
|
|||
return {
|
||||
geoapp: null,
|
||||
viewer: null,
|
||||
layerManager:[],
|
||||
layerManager: [],
|
||||
dataList: config.subjectconfig,
|
||||
dataList2: config.layerconfig,
|
||||
pannelShow: true,
|
||||
|
@ -94,7 +94,7 @@ export default {
|
|||
|
||||
this.loadMap();
|
||||
},
|
||||
created() {},
|
||||
created() { },
|
||||
methods: {
|
||||
loadMap() {
|
||||
window.geoapp = new Geowin3DAPP(
|
||||
|
@ -111,6 +111,7 @@ export default {
|
|||
},
|
||||
{
|
||||
hasProvinceBoundaries: false,
|
||||
showMouseCenterIcon:false
|
||||
}
|
||||
);
|
||||
window.viewer = geoapp.getViewer();
|
||||
|
@ -118,10 +119,9 @@ export default {
|
|||
//地下探测关闭
|
||||
viewer.scene.globe.depthTestAgainstTerrain = false;
|
||||
this.setSkyNone();
|
||||
this.addTdtMap();
|
||||
viewer.terrainProvider = new Geowin3D.Geowin3DTerrainProvider({
|
||||
url:"https://terrain.gbim360.com/"
|
||||
});
|
||||
// viewer.terrainProvider = new Geowin3D.Geowin3DTerrainProvider({
|
||||
// url: "https://terrain.gbim360.com/"
|
||||
// });
|
||||
// this.addModel();
|
||||
},
|
||||
loadLayer(treeNode) {
|
||||
|
@ -137,8 +137,8 @@ export default {
|
|||
}
|
||||
|
||||
var layer = null;
|
||||
|
||||
if (treeNode.type == "tileset") {
|
||||
//3dtiles瓦片
|
||||
if (treeNode.type == "geowintileset") {
|
||||
if (viewer.camera._mode == 2) return;
|
||||
layer = geoapp.load3DTileset({
|
||||
tileName: treeNode.layername,
|
||||
|
@ -146,7 +146,18 @@ export default {
|
|||
orientation: treeNode.orientation,
|
||||
});
|
||||
geoapp.show(layer);
|
||||
} else if (treeNode.type == "geowintms") {
|
||||
}
|
||||
if (treeNode.type == "tileset") {
|
||||
if (viewer.camera._mode == 2) return;
|
||||
layer = geoapp.load3DTileset({
|
||||
url: treeNode.url,
|
||||
position: treeNode.position,
|
||||
orientation: treeNode.orientation,
|
||||
});
|
||||
geoapp.show(layer);
|
||||
}
|
||||
//geowin tms服务
|
||||
else if (treeNode.type == "geowintms") {
|
||||
layer = geoapp.addImageLayer({
|
||||
tileName: treeNode.layername,
|
||||
bounds: treeNode["bounds"],
|
||||
|
@ -157,12 +168,33 @@ export default {
|
|||
layer[x] = treeNode.options[x];
|
||||
}
|
||||
}
|
||||
} else if (treeNode.type == "geowindem") {
|
||||
}
|
||||
//tms服务
|
||||
else if (treeNode.type == "tms") {
|
||||
layer = geoapp.addImageLayer({
|
||||
url: treeNode.url,
|
||||
bounds: treeNode["bounds"],
|
||||
});
|
||||
}
|
||||
//常用的tms服务
|
||||
else if (treeNode.type == "knowntms") {
|
||||
layer = geoapp.addImageLayer({
|
||||
tdtUrl: true
|
||||
});
|
||||
}
|
||||
//geowin地形服务
|
||||
else if (treeNode.type == "geowindem") {
|
||||
layer = geoapp.addDefaultTerrain(treeNode.layername);
|
||||
viewer.terrainProvider = new Geowin3D.Geowin3DTerrainProvider({
|
||||
url:"https://terrain.gbim360.com/layer.json"
|
||||
});
|
||||
} else if (treeNode.type == "heatmap") {
|
||||
}
|
||||
//地形服务
|
||||
else if (treeNode.type == "dem") {
|
||||
layer = geoapp.addTerrain(treeNode.url);
|
||||
}
|
||||
//gltf服务
|
||||
else if (treeNode.type == "gltf") {
|
||||
layer = geoapp.loadGLTF(treeNode);
|
||||
}
|
||||
else if (treeNode.type == "heatmap") {
|
||||
layer = geoapp.addHeatMapLayer(
|
||||
treeNode.layername,
|
||||
treeNode.options,
|
||||
|
@ -184,56 +216,6 @@ export default {
|
|||
if (treeNode.position != null)
|
||||
geoapp.flyToByPosition(treeNode.position);
|
||||
},
|
||||
addModel() {
|
||||
var tileset = viewer.scene.primitives.add(
|
||||
new Cesium.Cesium3DTileset({
|
||||
url: "http://localhost:9003/model/tayQsI1Ct/tileset.json",
|
||||
modelMatrix: Cesium.Matrix4.fromArray([
|
||||
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1,
|
||||
]),
|
||||
})
|
||||
);
|
||||
viewer.flyTo(tileset);
|
||||
},
|
||||
addTdtMap() {
|
||||
viewer.imageryLayers.addImageryProvider(
|
||||
new Cesium.WebMapTileServiceImageryProvider({
|
||||
url:
|
||||
"http://{s}.tianditu.gov.cn/img_c/wmts?service=wmts&request=GetTile&version=1.0.0" +
|
||||
"&LAYER=img&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}" +
|
||||
"&style=default&format=tiles&tk=8b44b0161ca27be9b972b7f2cc943248",
|
||||
layer: "tdtCva",
|
||||
style: "default",
|
||||
format: "tiles",
|
||||
tileMatrixSetID: "c",
|
||||
subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
|
||||
tilingScheme: new Cesium.GeographicTilingScheme(),
|
||||
tileMatrixLabels: [
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
"13",
|
||||
"14",
|
||||
"15",
|
||||
"16",
|
||||
"17",
|
||||
"18",
|
||||
"19",
|
||||
],
|
||||
// maximumLevel: 18,
|
||||
show: false,
|
||||
})
|
||||
);
|
||||
},
|
||||
setSkyNone() {
|
||||
viewer.scene.backgroundColor = new Cesium.Color(0.0, 0.0, 0.0, 0.0);
|
||||
viewer.scene.skyBox.destroy();
|
||||
|
@ -291,21 +273,21 @@ export default {
|
|||
goToLocation(item) {
|
||||
debugger;
|
||||
},
|
||||
removeLayer(treeNode) {
|
||||
var id = treeNode.id;
|
||||
if (this.layerManager[id] == null) return;
|
||||
if(treeNode.type == "tileset" || treeNode.type == "geowintms"){
|
||||
geoapp.hide(this.layerManager[id].layer);
|
||||
return ;
|
||||
}
|
||||
if(treeNode.type == "geowindem"){
|
||||
geoapp.removeTerrain();
|
||||
return ;
|
||||
}
|
||||
if(layerManager[id].layer)
|
||||
geoapp.removeEntity(this.layerManager[id].layer);
|
||||
delete this.layerManager[id] ;
|
||||
}
|
||||
removeLayer(treeNode) {
|
||||
var id = treeNode.id;
|
||||
if (this.layerManager[id] == null) return;
|
||||
if (treeNode.type == "tileset" || treeNode.type == "geowintms" || treeNode.type == "tms" || treeNode.type == "knowntms") {
|
||||
geoapp.hide(this.layerManager[id].layer);
|
||||
return;
|
||||
}
|
||||
if (treeNode.type == "geowindem" || treeNode.type == "dem") {
|
||||
geoapp.removeTerrain();
|
||||
return;
|
||||
}
|
||||
if (this.layerManager[id].layer)
|
||||
geoapp.removeEntity(this.layerManager[id].layer);
|
||||
delete this.layerManager[id];
|
||||
}
|
||||
|
||||
},
|
||||
};
|
||||
|
@ -431,12 +413,9 @@ export default {
|
|||
.detail-title {
|
||||
padding: 0.1rem 1rem;
|
||||
border-bottom: 1px solid;
|
||||
border-image: linear-gradient(
|
||||
to right,
|
||||
border-image: linear-gradient(to right,
|
||||
rgba(0, 244, 253, 1),
|
||||
rgba(0, 244, 253, 0)
|
||||
)
|
||||
1;
|
||||
rgba(0, 244, 253, 0)) 1;
|
||||
|
||||
.iconfont {
|
||||
color: #22f3e2;
|
||||
|
|
Loading…
Reference in New Issue