From 1cab2116d6e200553248234f8f30a690b7d2214d Mon Sep 17 00:00:00 2001 From: sunzhenyu Date: Fri, 2 Apr 2021 15:49:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E7=BB=B4=E8=AF=BE=E7=A8=8B=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E4=BF=AE=E6=94=B9=E8=AF=BE=E7=A8=8B=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E9=97=B4=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=E3=80=82?= =?UTF-8?q?(=E6=9C=AA=E5=AE=9E=E8=A3=85)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/api/jmap/lesson3d.js | 72 +++++ src/i18n/langs/en/designPlatform.js | 1 + src/i18n/langs/en/map.js | 1 + src/i18n/langs/zh/designPlatform.js | 1 + src/i18n/langs/zh/map.js | 1 + .../assetmodelmanager/assetmodelmanager.js | 34 +++ src/jlmap3d/lesson3dedit/lesson3deditor.js | 86 ++++++ src/jlmap3d/lesson3dedit/model/lessondata.js | 141 ++++++++++ src/router/index.js | 12 + src/scripts/ConstDic.js | 1 + src/utils/baseUrl.js | 2 +- src/views/designPlatform/demonList.vue | 7 + .../lesson3dedit/component/assetsmodel.vue | 58 ++++ .../lesson3dedit/component/lessonprogress.vue | 130 +++++++++ .../lesson3dedit/component/lessonsetup.vue | 123 +++++++++ .../component/lessontoolsmanager.vue | 96 +++++++ .../lesson3dedit/component/property.vue | 189 +++++++++++++ .../jlmap3d/lesson3dedit/lesson3dedit.vue | 261 ++++++++++++++++++ .../jlmap3d/lesson3dedit/lesson3dshow.vue | 75 +++++ .../jlmap3d/lesson3dedit/tools/actiontips.vue | 71 +++++ .../jlmap3d/lesson3dedit/tools/errortips.vue | 71 +++++ .../lesson3dedit/tools/explainpane.vue | 82 ++++++ .../jlmap3d/lesson3dedit/tools/jobpane.vue | 189 +++++++++++++ .../jlmap3d/lesson3dedit/tools/processlog.vue | 82 ++++++ .../jlmap3d/lesson3dedit/tools/stepstips.vue | 75 +++++ .../jlmap3d/lesson3dedit/tools/toolbar.vue | 201 ++++++++++++++ src/views/lesson/lesson3d.vue | 216 +++++++++++++++ src/views/newMap/newDesignUser/demonList.vue | 3 - 29 files changed, 2278 insertions(+), 5 deletions(-) create mode 100644 src/api/jmap/lesson3d.js create mode 100644 src/jlmap3d/lesson3dedit/assetmodelmanager/assetmodelmanager.js create mode 100644 src/jlmap3d/lesson3dedit/lesson3deditor.js create mode 100644 src/jlmap3d/lesson3dedit/model/lessondata.js create mode 100644 src/views/jlmap3d/lesson3dedit/component/assetsmodel.vue create mode 100644 src/views/jlmap3d/lesson3dedit/component/lessonprogress.vue create mode 100644 src/views/jlmap3d/lesson3dedit/component/lessonsetup.vue create mode 100644 src/views/jlmap3d/lesson3dedit/component/lessontoolsmanager.vue create mode 100644 src/views/jlmap3d/lesson3dedit/component/property.vue create mode 100644 src/views/jlmap3d/lesson3dedit/lesson3dedit.vue create mode 100644 src/views/jlmap3d/lesson3dedit/lesson3dshow.vue create mode 100644 src/views/jlmap3d/lesson3dedit/tools/actiontips.vue create mode 100644 src/views/jlmap3d/lesson3dedit/tools/errortips.vue create mode 100644 src/views/jlmap3d/lesson3dedit/tools/explainpane.vue create mode 100644 src/views/jlmap3d/lesson3dedit/tools/jobpane.vue create mode 100644 src/views/jlmap3d/lesson3dedit/tools/processlog.vue create mode 100644 src/views/jlmap3d/lesson3dedit/tools/stepstips.vue create mode 100644 src/views/jlmap3d/lesson3dedit/tools/toolbar.vue create mode 100644 src/views/lesson/lesson3d.vue diff --git a/package.json b/package.json index c229cb040..666b32dc3 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "vue-i18n": "^8.12.0", "vue-quill-editor": "^3.0.6", "vue-router": "^3.1.6", - "vuedraggable": "^2.23.2", + "vuedraggable": "^2.24.3", "vuex": "^3.1.0", "xlsx": "^0.14.2", "zrender": "^4.0.4" diff --git a/src/api/jmap/lesson3d.js b/src/api/jmap/lesson3d.js new file mode 100644 index 000000000..3ad13e5fd --- /dev/null +++ b/src/api/jmap/lesson3d.js @@ -0,0 +1,72 @@ +import request from '@/utils/request'; + +export function getLesson3dDrftList(params) { + return request({ + url: `/api/draft3dLesson/paging`, + method: 'get', + params: params + }); +} + +export function getLesson3dData(lessonId) { + return request({ + url: `/api/draft3dLesson/${lessonId}`, + method: 'get', + params: '' + }); +} + +//查询发布课程 +export function publishedLesson3d() { + return request({ + url: `/api/lesson3d/paging`, + method: 'get', + params: '' + }); +} + +//保存 +export function createLesson3d(data) { + return request({ + url: `/api/draft3dLesson`, + method: 'post', + data: data + }); +} + +//发布课程 +export function publishLesson3d(lessonId) { + return request({ + url: `/api/draft3dLesson/${lessonId}/publish`, + method: 'post', + data: "" + }); +} + +// 更新基本信息 +export function updateLesson3dBasic(lessonId,data) { + return request({ + url: `/api/draft3dLesson/${lessonId}/basic`, + method: 'put', + data: data + }); +} +// 更新数据 +export function updateLesson3dData(lessonId,data) { + return request({ + url: `/api/draft3dLesson/${lessonId}/data`, + method: 'put', + data: data + }); +} + +/** 删除课程*/ +export function delLesson3d(lessonId) { + return request({ + url: `/api/draft3dLesson/${lessonId}`, + method: 'delete', + data: '' + }); +} + +// diff --git a/src/i18n/langs/en/designPlatform.js b/src/i18n/langs/en/designPlatform.js index 5be018a05..a216802c3 100644 --- a/src/i18n/langs/en/designPlatform.js +++ b/src/i18n/langs/en/designPlatform.js @@ -3,5 +3,6 @@ export default { mapDesign: 'Map Design', runPlanDesign: 'Run Plan Design', lessonDesign: 'Lesson Design', + lesson3dDesign:'Lesson3d Design', scriptDesign: 'Script Design' }; diff --git a/src/i18n/langs/en/map.js b/src/i18n/langs/en/map.js index 21664f9aa..309e17e3f 100644 --- a/src/i18n/langs/en/map.js +++ b/src/i18n/langs/en/map.js @@ -145,6 +145,7 @@ export default { jlmap3d: '3d editing', publish3d: '3d', assetmanager3d: '3d Asset Manager', + lesson3dedit:'3d Lesson Make', stationmanager3d:'3d Station Manager', automaticSignalList: 'Automatic signal list', automaticSignalCode: 'Automatic signal coding', diff --git a/src/i18n/langs/zh/designPlatform.js b/src/i18n/langs/zh/designPlatform.js index da82063f3..762c03e06 100644 --- a/src/i18n/langs/zh/designPlatform.js +++ b/src/i18n/langs/zh/designPlatform.js @@ -3,5 +3,6 @@ export default { mapDesign: '地图设计', runPlanDesign: '运行图设计', lessonDesign: '课程设计', + lesson3dDesign: '三维课程设计', scriptDesign: '剧本设计' }; diff --git a/src/i18n/langs/zh/map.js b/src/i18n/langs/zh/map.js index 997b1996c..b96f03105 100644 --- a/src/i18n/langs/zh/map.js +++ b/src/i18n/langs/zh/map.js @@ -15,6 +15,7 @@ export default { edit3d: '三维编辑', publish3d: '三维发布', assetmanager3d: '三维资源管理', + lesson3dedit:'三维课程制作', stationmanager3d: '三维车站管理', logicalView: '逻辑视图', physicalView: '物理视图', diff --git a/src/jlmap3d/lesson3dedit/assetmodelmanager/assetmodelmanager.js b/src/jlmap3d/lesson3dedit/assetmodelmanager/assetmodelmanager.js new file mode 100644 index 000000000..94603740c --- /dev/null +++ b/src/jlmap3d/lesson3dedit/assetmodelmanager/assetmodelmanager.js @@ -0,0 +1,34 @@ +import { BASE_ASSET_API } from '@/api/jlmap3d/assets3d.js'; + +export function AssetModelManager(scene) { + let scope = this; + this.assetList = []; + + this.loadAsset = []; + + //加载课程资源 + this.lessonAssetsLoader = function(){ + fbxpromise(); + } + + //动态加载资源 + this.assetLoader = function(){ + + } + + //fbx模型加载 + function fbxpromise(){ + return new Promise(function(resolve, reject){ + var loader = new THREE.FBXLoader(); + loader.load( BASE_ASSET_API+"/MODEL/2021-03-25/1370-3193.FBX", function ( object ) { + + + scope.loadAsset.push(object); + scene.add(object); + resolve(); + } ); + + }); + } + +} diff --git a/src/jlmap3d/lesson3dedit/lesson3deditor.js b/src/jlmap3d/lesson3dedit/lesson3deditor.js new file mode 100644 index 000000000..ee48016c1 --- /dev/null +++ b/src/jlmap3d/lesson3dedit/lesson3deditor.js @@ -0,0 +1,86 @@ +import store from '@/store/index'; +// import { Loading } from 'element-ui'; +import {Stats} from '@/jlmap3d/main/lib/stats.min.js'; +//静态资源文件路径 +import { JL3D_LOCAL_STATIC } from '@/api/jlmap3d/assets3d.js'; +//loader +import { FBXLoader } from '@/jlmap3d/main/loaders/FBXLoader'; +//轨道视角控制 +import { OrbitControls } from '@/jlmap3d/main/control/OrbitControls'; +//骨骼动画模型辅助工具 +import { SkeletonUtils } from '@/jlmap3d/main/utils/SkeletonUtils.js'; + +import { AssetModelManager } from '@/jlmap3d/lesson3dedit/assetmodelmanager/assetmodelmanager.js'; + + + +//动画播放相关 +let clock = new THREE.Clock(); +let delta; + +let scene; + +export function Lesson3dEditor(dom,lessonData) { + + // let stats = new Stats(); + // dom.appendChild( stats.dom ); + + let scope = this; + this.dom = dom; + + //定义相机 + this.camerass = new THREE.PerspectiveCamera(70, dom.offsetWidth / dom.offsetHeight, 0.01, 1000); + this.camerass.position.set(0, 80, 40); + this.camerass.aspect = dom.offsetWidth / dom.offsetHeight; + this.camerass.updateProjectionMatrix(); + + //定义场景(渲染容器) + scene = new THREE.Scene(); + scene.background = new THREE.Color(0xa0a0a0); + + + this.renderer = new THREE.WebGLRenderer({ antialias: true }); + this.renderer.setClearColor(new THREE.Color(0x000000)); + this.renderer.setViewport( 0, 0, dom.offsetWidth, dom.offsetHeight); + this.renderer.setScissor( 0, 0, dom.offsetWidth, dom.offsetHeight); + this.renderer.setScissorTest( false ); + this.renderer.setSize(dom.offsetWidth, dom.offsetHeight); + this.renderer.sortObjects = true; + dom.appendChild(scope.renderer.domElement); + + //定义全局光 + let ambientLight = new THREE.AmbientLight(0xffffff, 1.3); + scene.add(ambientLight); + var light = new THREE.HemisphereLight( 0xffffff, 0x444444 ); + light.position.set( 0, 4000, 0 ); + scene.add( light ); + + this.controls = new THREE.OrbitControls(scope.camerass, dom); + this.controls.maxPolarAngle = Math.PI / 2; + this.controls.minPolarangle = Math.PI / 5; + this.controls.maxDistance = 800; + this.controls.screenSpacePanning = true; + this.controls.update(); + + lesson3dUpdateControl(scope.controls); + + let assetModelManager = new AssetModelManager(scene); + assetModelManager.lessonAssetsLoader(); + animate(); + + + + //循环渲染函数 + function animate() { + scope.renderer.render( scene, scope.camerass ); + scope.controls.update(); + // delta = clock.getDelta(); + requestAnimationFrame(animate); + + } + + window.onresize = function () { + scope.renderer.setSize(dom.offsetWidth,dom.offsetHeight); + } + +} diff --git a/src/jlmap3d/lesson3dedit/model/lessondata.js b/src/jlmap3d/lesson3dedit/model/lessondata.js new file mode 100644 index 000000000..4e166304d --- /dev/null +++ b/src/jlmap3d/lesson3dedit/model/lessondata.js @@ -0,0 +1,141 @@ + +export function LessonData() { + let scope = this; + + this.lessonId = ""; + this.lessonName = ""; + this.lessonType = ""; + this.lessonStatus = ""; + this.lessonData = { + //资源列表 + assetmodel:[], + //课程组件启用状态 + lessonTools:[], + dataType:"", + //课程内容 + lessonProgress:[ + + ] + }; + + this.initLessonProgress = function(){ + let newLessonProgress = { + progressName:"", + roleName:"", + roleUse:true, + + progressScene:"", + nextCode:"", + nextNode:"", + triggerType:"", + triggerMode:"", + triggerTime:"", + triggerModel:"", + controlMode:"", + cameraMode:"", + cameraPosition:"", + cameraTarget:"", + assetId:scope.lessonData.lessonProgress.length, + assetPos:"", + assetRot:"", + assetType:"", + index:"", + stepTipsData:{ + tittle:"标题", + text:"内容", + }, + explainPane:{ + tittle:"", + picurl:"", + text:"", + }, + }; + + scope.lessonData.lessonProgress.push(newLessonProgress); + + } + + this.loadLessonProgress = function(loadData){ + console.log(loadData); + for(let i=0;i import('@/views/authorization/list'); const Jlmap3dedit = () => import('@/views/jlmap3d/edit/jlmap3dedit'); const Jlmap3dAssetManager = () => import('@/views/jlmap3d/jl3dassetmanager/assetmanager'); +const Jlmap3dLesson3dEdit = () => import('@/views/jlmap3d/lesson3dedit/lesson3dedit'); const Jlmap3d = () => import('@/views/jlmap3d/drive/jl3ddrive'); const Jlmap3dSandbox = () => import('@/views/jlmap3d/simulation/jl3dsimulation'); const Jlmap3dPassFlow = () => import('@/views/jlmap3d/passflow/jl3dpassflow'); @@ -68,6 +69,7 @@ const TrainingRuleEdit = () => import('@/views/lesson/trainingRule/detail/index' const Trainingmanage = () => import('@/views/lesson/trainingmanage/index'); const LessonEdit = () => import('@/views/lesson/lessoncategory/index'); const LessonHome = () => import('@/views/lesson/home'); +const Lesson3d = () => import('@/views/lesson/lesson3d'); const LessonDetail = () => import('@/views/lesson/details'); const ScriptmanageHome = () => import('@/views/scriptManage/home'); @@ -248,6 +250,11 @@ export const constantRoutes = [ component: Jlmap3dAssetManager, hidden: true }, + { + path: '/design/jlmap3d/lesson3dedit', + component: Jlmap3dLesson3dEdit, + hidden: true + }, { path: '/data2json', component: () => import('@/views/planMonitor/data2json/page.vue'), @@ -607,6 +614,11 @@ export const asyncRouter = [ component: LessonHome, hidden: true }, + { // 三维课程列表 + path: 'lesson/lesson3d', + component: Lesson3d, + hidden: true + }, { // 操作定义 path: 'lesson/trainingRule', component: TrainingRuleList, diff --git a/src/scripts/ConstDic.js b/src/scripts/ConstDic.js index de77fb762..e55dc5bc3 100644 --- a/src/scripts/ConstDic.js +++ b/src/scripts/ConstDic.js @@ -159,6 +159,7 @@ export const UrlConfig = { prefix: '/design/home', lessonEdit: '/design/lesson/edit', lessonHome: '/design/lesson/home', + lesson3d: '/design/lesson/lesson3d', taskManage: '/design/lesson/taskManage', trainingRule: '/design/lesson/trainingRule', trainingRuleDetail: '/design/lesson/trainingRule/detail', diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js index 9c4927a81..da96c1cd3 100644 --- a/src/utils/baseUrl.js +++ b/src/utils/baseUrl.js @@ -5,7 +5,7 @@ export function getBaseUrl() { // BASE_API = 'https://api.joylink.club/jlcloud'; BASE_API = 'https://test.joylink.club/jlcloud'; // BASE_API = 'http://192.168.8.107:9000'; // 袁琪 - // BASE_API = 'http://192.168.8.129:9000'; // 旭强 + // BASE_API = 'http://192.168.8.169:9000'; // 旭强 // BASE_API = 'http://192.168.8.119:9000'; // 张赛 // BASE_API = 'http://192.168.8.140:9000'; // 杜康 // BASE_API = 'http://b29z135112.zicp.vip'; diff --git a/src/views/designPlatform/demonList.vue b/src/views/designPlatform/demonList.vue index f98e74725..9faba0cee 100644 --- a/src/views/designPlatform/demonList.vue +++ b/src/views/designPlatform/demonList.vue @@ -102,6 +102,10 @@ export default { this.$router.push({ path: `${UrlConfig.design.lessonHome}/${obj.mapId}?lineCode=${obj.lineCode}&cityCode=${obj.cityCode}` }); break; } + case 'lesson3dDesign': { + this.$router.push({ path: `${UrlConfig.design.lesson3d}`}); + break; + } case 'runPlanDesign': { this.$router.push({ path: `${UrlConfig.design.runPlan}/${obj.mapId}?lineCode=${obj.lineCode}` }); break; @@ -201,7 +205,10 @@ export default { lineCode: elem.lineCode, cityCode: elem.cityCode }); + // this.isAdministrator() ? elem.children.push({id: '8', name: this.$t('designPlatform.lesson3dDesign'), type: 'lesson3dDesign'}) : ''; + }); + this.treeData = res.data; this.treeList = this.filterText ? res.data.filter(elem => { return elem.name.includes(this.filterText); }) diff --git a/src/views/jlmap3d/lesson3dedit/component/assetsmodel.vue b/src/views/jlmap3d/lesson3dedit/component/assetsmodel.vue new file mode 100644 index 000000000..9f25fbde1 --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/component/assetsmodel.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/component/lessonprogress.vue b/src/views/jlmap3d/lesson3dedit/component/lessonprogress.vue new file mode 100644 index 000000000..10d9efda4 --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/component/lessonprogress.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/component/lessonsetup.vue b/src/views/jlmap3d/lesson3dedit/component/lessonsetup.vue new file mode 100644 index 000000000..a6948a4cd --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/component/lessonsetup.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/component/lessontoolsmanager.vue b/src/views/jlmap3d/lesson3dedit/component/lessontoolsmanager.vue new file mode 100644 index 000000000..d14b2ebad --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/component/lessontoolsmanager.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/component/property.vue b/src/views/jlmap3d/lesson3dedit/component/property.vue new file mode 100644 index 000000000..9f80bf6f4 --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/component/property.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/lesson3dedit.vue b/src/views/jlmap3d/lesson3dedit/lesson3dedit.vue new file mode 100644 index 000000000..8c4fe9b4b --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/lesson3dedit.vue @@ -0,0 +1,261 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/lesson3dshow.vue b/src/views/jlmap3d/lesson3dedit/lesson3dshow.vue new file mode 100644 index 000000000..c9eaaf43e --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/lesson3dshow.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/tools/actiontips.vue b/src/views/jlmap3d/lesson3dedit/tools/actiontips.vue new file mode 100644 index 000000000..781be9fb7 --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/tools/actiontips.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/tools/errortips.vue b/src/views/jlmap3d/lesson3dedit/tools/errortips.vue new file mode 100644 index 000000000..adfb3b9ab --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/tools/errortips.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/tools/explainpane.vue b/src/views/jlmap3d/lesson3dedit/tools/explainpane.vue new file mode 100644 index 000000000..fc54aafc5 --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/tools/explainpane.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/tools/jobpane.vue b/src/views/jlmap3d/lesson3dedit/tools/jobpane.vue new file mode 100644 index 000000000..8e90d4750 --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/tools/jobpane.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/tools/processlog.vue b/src/views/jlmap3d/lesson3dedit/tools/processlog.vue new file mode 100644 index 000000000..979995698 --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/tools/processlog.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/tools/stepstips.vue b/src/views/jlmap3d/lesson3dedit/tools/stepstips.vue new file mode 100644 index 000000000..cbdf43c93 --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/tools/stepstips.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/jlmap3d/lesson3dedit/tools/toolbar.vue b/src/views/jlmap3d/lesson3dedit/tools/toolbar.vue new file mode 100644 index 000000000..0ca06a3d0 --- /dev/null +++ b/src/views/jlmap3d/lesson3dedit/tools/toolbar.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/src/views/lesson/lesson3d.vue b/src/views/lesson/lesson3d.vue new file mode 100644 index 000000000..c2ad7d426 --- /dev/null +++ b/src/views/lesson/lesson3d.vue @@ -0,0 +1,216 @@ + + + + diff --git a/src/views/newMap/newDesignUser/demonList.vue b/src/views/newMap/newDesignUser/demonList.vue index cccdaf79b..e69c5e1a1 100644 --- a/src/views/newMap/newDesignUser/demonList.vue +++ b/src/views/newMap/newDesignUser/demonList.vue @@ -154,9 +154,6 @@ export default { assetmanager3d() { this.$router.push({ path: '/design/jlmap3d/assetmanager' }); }, - - - importMap() { this.$refs.mapImport.show(); }