提供3D旋转和覆盖物标签隐藏/显示切换
This commit is contained in:
		| @@ -59,7 +59,8 @@ export default { | |||||||
|       // mods, |       // mods, | ||||||
|       chartList, |       chartList, | ||||||
|       map: null, |       map: null, | ||||||
|       lib: null |       lib: null, | ||||||
|  |       timer: null | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   computed: { |   computed: { | ||||||
| @@ -122,13 +123,14 @@ export default { | |||||||
|     }, |     }, | ||||||
|     renderMap(count = 0) { |     renderMap(count = 0) { | ||||||
|       let {lib: AMap, map} = this |       let {lib: AMap, map} = this | ||||||
|  |       this.timer && clearInterval(this.timer) | ||||||
|       if (AMap) { |       if (AMap) { | ||||||
|         let infoWin = new AMap.InfoWindow({content: ""}) |         let infoWin = new AMap.InfoWindow({content: ""}) | ||||||
|         map.clearMap() |         map.clearMap() | ||||||
|         let markers = this.values.filter(e => e.lng).map(e => { |         let markers = this.values.filter(e => e.lng).map(e => { | ||||||
|           return new AMap.Marker({ |           return new AMap.Marker({ | ||||||
|             map, |             map, | ||||||
|             content: e.content || `<div class="marker"> |             content: e.content || `<div class="marker ${this.data.alwaysShow ? 'showLabel' : ''}"> | ||||||
|                         <img src="${e.icon}"/> |                         <img src="${e.icon}"/> | ||||||
|                         <span>${e.label}</span> |                         <span>${e.label}</span> | ||||||
|                       </div>`, |                       </div>`, | ||||||
| @@ -147,7 +149,10 @@ export default { | |||||||
|           }) |           }) | ||||||
|         }) |         }) | ||||||
|         map.setFitView(markers) |         map.setFitView(markers) | ||||||
|         this.data.is3d && map.setPitch(60) |         this.data.is3d && map.setPitch(65) | ||||||
|  |         if (this.data.is3dAround == 1) { | ||||||
|  |           this.timer = setInterval(() => map?.setRotation(360, false, 16000)) | ||||||
|  |         } | ||||||
|       } else if (count < 10) { |       } else if (count < 10) { | ||||||
|         console.log("正在加载...%s", count) |         console.log("正在加载...%s", count) | ||||||
|         setTimeout(() => this.renderMap(++count), 1000) |         setTimeout(() => this.renderMap(++count), 1000) | ||||||
| @@ -220,7 +225,7 @@ export default { | |||||||
|       display: none; |       display: none; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     &:hover > span { |     &:hover > span, &.showLabel > span { | ||||||
|       position: absolute; |       position: absolute; | ||||||
|       left: 50%; |       left: 50%; | ||||||
|       bottom: 0; |       bottom: 0; | ||||||
|   | |||||||
| @@ -101,6 +101,12 @@ | |||||||
|               <AiAreaGet :instance="instance" :valueLevel="3" v-model="config.areaId" placeholder="地图展示的中心"/> |               <AiAreaGet :instance="instance" :valueLevel="3" v-model="config.areaId" placeholder="地图展示的中心"/> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|  |           <div class="layout-config__item"> | ||||||
|  |             <label>显示标签</label> | ||||||
|  |             <div class="layout-config__item--right"> | ||||||
|  |               <ai-select v-model="config.alwaysShow" :selectList="dict.getDict('yesOrNo')"/> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|           <div class="layout-config__item"> |           <div class="layout-config__item"> | ||||||
|             <label>展示光轨</label> |             <label>展示光轨</label> | ||||||
|             <div class="layout-config__item--right"> |             <div class="layout-config__item--right"> | ||||||
| @@ -119,6 +125,12 @@ | |||||||
|               <ai-select v-model="config.is3d" :selectList="dict.getDict('yesOrNo')"/> |               <ai-select v-model="config.is3d" :selectList="dict.getDict('yesOrNo')"/> | ||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|  |           <div class="layout-config__item layout-config__item--input" v-if="config.is3d==1"> | ||||||
|  |             <label>3D环绕</label> | ||||||
|  |             <div class="layout-config__item--right"> | ||||||
|  |               <ai-select v-model="config.is3dAround" :selectList="dict.getDict('yesOrNo')"/> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|         </template> |         </template> | ||||||
|         <div class="layout-config__item" v-if="config.type === 'summary'"> |         <div class="layout-config__item" v-if="config.type === 'summary'"> | ||||||
|           <label>数据汇总</label> |           <label>数据汇总</label> | ||||||
|   | |||||||
| @@ -533,13 +533,14 @@ const components = [ | |||||||
|             dynamicData: [], |             dynamicData: [], | ||||||
|             staticData: [ |             staticData: [ | ||||||
|               { |               { | ||||||
|                 content: '中卫慧通', |                 label: '中卫慧通', | ||||||
|                 lng: 117.1339399, |                 lng: 117.1339399, | ||||||
|                 lat: 36.7190487, |                 lat: 36.7190487, | ||||||
|               } |               } | ||||||
|             ], |             ], | ||||||
|             api: '', |             api: '', | ||||||
|             thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/map.png' |             thumb: 'https://cdn.cunwuyun.cn/dvcp/dv/tpl/map.png', | ||||||
|  |             is3dAround: '0' | ||||||
|           } |           } | ||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user