From 17f1a7ce9dccb0d77269ee0e0789bd5b5676fb74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=98=89=E5=A8=81?= Date: Sat, 8 Oct 2022 14:52:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E4=B8=8D=E6=98=BE=E7=A4=BA=E5=8D=97=E6=B5=B7?= =?UTF-8?q?=E7=BE=A4=E5=B2=9B=20=E9=A2=84=E8=A7=88=E6=97=B6=E4=BB=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Charts/Maps/MapBase/index.vue | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/packages/components/Charts/Maps/MapBase/index.vue b/src/packages/components/Charts/Maps/MapBase/index.vue index 20b1fdbc..8524684a 100644 --- a/src/packages/components/Charts/Maps/MapBase/index.vue +++ b/src/packages/components/Charts/Maps/MapBase/index.vue @@ -61,10 +61,14 @@ const getGeojson = (regionId: string) => { //异步时先注册空的 保证初始化不报错 registerMap(props.chartConfig.option.mapRegion.adcode, { geoJSON: {} as any, specialAreas: {} }) -// 进行更换初始化地图 +// 进行更换初始化地图 如果为china 单独处理 const registerMapInitAsync = async () => { await nextTick() - await getGeojson(props.chartConfig.option.mapRegion.adcode) + if (props.chartConfig.option.mapRegion.adcode!="china") { + await getGeojson(props.chartConfig.option.mapRegion.adcode) + }else{ + await hainanLandsHandle(props.chartConfig.option.mapRegion.showHainanIsLands) + } vEchartsSetOption() } registerMapInitAsync() @@ -85,7 +89,14 @@ const dataSetHandle = async (dataset: any) => { isPreview() && vEchartsSetOption() } - +// 处理海南群岛 +const hainanLandsHandle=async(newData:boolean)=>{ + if (newData) { + await getGeojson('china') + } else { + registerMap('china', { geoJSON: mapJsonWithoutHainanIsLands as any, specialAreas: {} }) + } +} //监听 dataset 数据发生变化 watch( () => props.chartConfig.option.dataset, @@ -102,11 +113,7 @@ watch( watch( () => props.chartConfig.option.mapRegion.showHainanIsLands, async newData => { - if (newData) { - await getGeojson('china') - } else { - registerMap('china', { geoJSON: mapJsonWithoutHainanIsLands as any, specialAreas: {} }) - } + await hainanLandsHandle(newData) vEchartsSetOption() }, {