@@ -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