Skip to content

Commit d01be1a

Browse files
committed
fix: fix issue of showTooltip in map chart
1 parent d88b098 commit d01be1a

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

packages/vchart/src/component/tooltip/utils/show-tooltip.ts

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -276,12 +276,23 @@ export const getMarkInfoList = (datum: Datum, region: IRegion) => {
276276
console.log('parseMarkInfoOfGeoSeries');
277277
let originDatum = series.getViewData()?.latestData.find(datumContainsArray(dimensionFields, dimensionData));
278278
// 地图需要特殊处理,需要根据properties属性来匹配数据
279+
// @ts-ignore
280+
const nameMap = series.getNameMap();
281+
279282
const originMapDatum = series
280283
// @ts-ignore
281284
.getMapViewData?.()
282285
?.latestData.find((datum: Datum) =>
283-
dimensionFields.every((key, i) => datum.properties[key] === dimensionData?.[i])
286+
dimensionFields.every((key, i) => {
287+
if (key === 'name') {
288+
return nameMap[datum.properties[key]] === dimensionData?.[i];
289+
}
290+
return datum.properties[key] === dimensionData?.[i];
291+
})
284292
);
293+
if (!originMapDatum) {
294+
return;
295+
}
285296
let markInfoMeasureData = measureData;
286297
if (originMapDatum && !originDatum) {
287298
originDatum = { ...datum };
@@ -293,13 +304,12 @@ export const getMarkInfoList = (datum: Datum, region: IRegion) => {
293304
if (!hasData(measureData) && !originDatum) {
294305
return;
295306
}
296-
measureData = [null];
307+
if (!hasData(measureData)) {
308+
measureData = [null];
309+
}
297310
}
298311

299-
const pos =
300-
series.type === SeriesTypeEnum.pie
301-
? (series as PieSeries).dataToCentralPosition(originMapDatum.properties)
302-
: series.dataToPosition(originMapDatum.properties);
312+
const pos = series.dataToPosition(originDatum);
303313
if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {
304314
return;
305315
}

0 commit comments

Comments
 (0)