大屏地图标记弹窗完成
This commit is contained in:
		| @@ -165,24 +165,23 @@ export default { | |||||||
|       let {lib: AMap, map} = this |       let {lib: AMap, map} = this | ||||||
|       this.timer && clearInterval(this.timer) |       this.timer && clearInterval(this.timer) | ||||||
|       if (AMap && map) { |       if (AMap && map) { | ||||||
|         let infoWin = new AMap.InfoWindow({content: ""}) |         const infoWin = new AMap.InfoWindow({isCustom: true, content: ""}) | ||||||
|         map.clearMap() |         map.clearMap() | ||||||
|         this.values.filter(e => e.lng).map(e => { |         map.on('click', () => infoWin.close()) | ||||||
|  |         this.values.filter(e => e.lng).map((e) => { | ||||||
|  |           const {icon = "https://cdn.cunwuyun.cn/dvcp/h5/Location2.png"} = e | ||||||
|           return new AMap.Marker({ |           return new AMap.Marker({ | ||||||
|             map, |             map, | ||||||
|             content: e.content || `<div class="marker ${this.data.alwaysShow ? 'showLabel' : ''}"> |             content: e.content || `<div class="marker ${this.data.alwaysShow ? 'showLabel' : ''}"> | ||||||
|                         <img src="${e.icon}"/> |                         <img src="${icon}"/> | ||||||
|                         <span>${e.label}</span> |                         <span>${e.label}</span> | ||||||
|                       </div>`, |                       </div>`, | ||||||
|             position: [e.lng, e.lat] |             position: [e.lng, e.lat] | ||||||
|           }).on('click', () => { |           }).on('click', () => { | ||||||
|             if (!!e.openWin || e.infoWindowHtml) { |             if (!!e.openWin || e.infoWindowHtml) { | ||||||
|               map.clearInfoWindow() |               map.clearInfoWindow() | ||||||
|               infoWin.setContent(e.infoWindowHtml || |               infoWin.setContent(e.infoWindowHtml ? `<div class="mapInfoWin">${e.infoWindowHtml}</div>` : | ||||||
|                   [`<div class="infoWin">`, |                   [`<div class="infoWin">`, `<b>${e.label}</b>`, '</div>'].join('') | ||||||
|                     `<b>${e.label}</b>`, |  | ||||||
|                     '</div>' |  | ||||||
|                   ].join('') |  | ||||||
|               ) |               ) | ||||||
|               infoWin.open(map, [e.lng, e.lat]) |               infoWin.open(map, [e.lng, e.lat]) | ||||||
|             } |             } | ||||||
| @@ -275,5 +274,16 @@ export default { | |||||||
|       white-space: nowrap; |       white-space: nowrap; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   :deep(.mapInfoWin) { | ||||||
|  |     padding: 16px 8px; | ||||||
|  |     max-width: 800px; | ||||||
|  |     background-color: rgba(255, 255, 255, 0.25); | ||||||
|  |     backdrop-filter: blur(6px); | ||||||
|  |     border: 1px solid rgba(255, 255, 255, 0.18); | ||||||
|  |     box-shadow: rgba(142, 142, 142, 0.19) 0px 6px 15px 0px; | ||||||
|  |     border-radius: 4px; | ||||||
|  |     color: rgba(255, 255, 255, 0.75); | ||||||
|  |   } | ||||||
| } | } | ||||||
| </style> | </style> | ||||||
|   | |||||||
| @@ -136,7 +136,7 @@ | |||||||
|           </el-form-item> |           </el-form-item> | ||||||
|         </div> |         </div> | ||||||
|         <el-form-item label="弹窗内容"> |         <el-form-item label="弹窗内容"> | ||||||
|           <ai-editor v-model="form.winInfo" :instance="instance"/> |           <ai-editor v-model="form.infoWindowHtml" :instance="instance"/> | ||||||
|         </el-form-item> |         </el-form-item> | ||||||
|       </el-form> |       </el-form> | ||||||
|     </ai-dialog> |     </ai-dialog> | ||||||
|   | |||||||
| @@ -28,8 +28,7 @@ module.exports = { | |||||||
|     .add(path.resolve(__dirname, 'examples')) |     .add(path.resolve(__dirname, 'examples')) | ||||||
|     .add(path.resolve(__dirname, 'ui')) |     .add(path.resolve(__dirname, 'ui')) | ||||||
|     .end().use('babel').loader('babel-loader').tap(options => options); |     .end().use('babel').loader('babel-loader').tap(options => options); | ||||||
|     config.plugins.delete("friendly-errors"); |     config.plugin("limit").use(require("webpack/lib/optimize/LimitChunkCountPlugin"), [{maxChunks: 10}]).tap(options => options) | ||||||
|     config.plugin("limit").use(require("webpack/lib/optimize/LimitChunkCountPlugin"), [{maxChunks: 5}]).tap(options => options) |  | ||||||
|   }, |   }, | ||||||
|   devServer: { |   devServer: { | ||||||
|     host: '0.0.0.0', //主机地址 |     host: '0.0.0.0', //主机地址 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user