Browse Source

fix: 地图颜色未加载全的问题

TwoKe945 1 year ago
parent
commit
4763ca1ac4
1 changed files with 3 additions and 3 deletions
  1. 3 3
      app/src/components/MapChart3D/index.vue

+ 3 - 3
app/src/components/MapChart3D/index.vue

@@ -83,11 +83,10 @@ export default {
 
 
     watch(() => props.mapHeatData, (val) => {
     watch(() => props.mapHeatData, (val) => {
       mapData.value = getHeatMapData(val)
       mapData.value = getHeatMapData(val)
-
       Object.keys( mapData.value ).forEach(key => {
       Object.keys( mapData.value ).forEach(key => {
         const area = cacheMap.get(key);
         const area = cacheMap.get(key);
         if (area) {
         if (area) {
-          area.mesh.material[0].color.set(COLOR_MAP[props.areaColor(mapData.value[key])])
+          area.mesh.material[0].color.set(getAreaColor(key))
         }
         }
       })
       })
 
 
@@ -96,7 +95,7 @@ export default {
     })
     })
     watch(() => props.qx, (val) => {
     watch(() => props.qx, (val) => {
       const area = cacheMap.get(val);
       const area = cacheMap.get(val);
-      if (area) {
+      if (area && val !== selectName.element.innerHTML) {
         clickArea(area.mesh, area.name)
         clickArea(area.mesh, area.name)
       }
       }
     })
     })
@@ -354,6 +353,7 @@ export default {
 					meshArrs.add(mesh)
 					meshArrs.add(mesh)
 					meshs.push(mesh)
 					meshs.push(mesh)
 					mesh.on('click', () => {
 					mesh.on('click', () => {
+            clickArea(mesh, name)
             if (properties.name !== activeArea.value) {
             if (properties.name !== activeArea.value) {
               activeArea.value = properties.name
               activeArea.value = properties.name
               ctx.emit('selectArea', properties.name)
               ctx.emit('selectArea', properties.name)