Skip to content

Commit 70a5f3f

Browse files
authored
Merge pull request #20566 from apache/fix-map
feat(map): support `regions[].silent` and update map data in tests
2 parents ab5de8e + 4e84f15 commit 70a5f3f

35 files changed

+916
-368
lines changed

src/chart/map/MapSeries.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export interface MapDataItemOption extends MapStateOption,
5555
StatesOptionMixin<MapStateOption, StatesMixinBase>,
5656
OptionDataItemObject<OptionDataValueNumeric> {
5757
cursor?: string
58+
silent?: boolean
5859
}
5960

6061
export type MapValueCalculationType = 'sum' | 'average' | 'min' | 'max';

src/component/helper/MapDraw.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,9 @@ class MapDraw {
302302
? mapOrGeoModel.getRegionModel(regionName)
303303
: (data ? data.getItemModel(dataIdx) as Model<MapDataItemOption> : null);
304304

305+
const silent = (regionModel as Model<RegionOption>).get('silent', true);
306+
silent != null && (regionGroup.silent = silent);
307+
305308
regionsInfoByName.set(regionName, { dataIdx, regionModel });
306309
}
307310

@@ -421,6 +424,9 @@ class MapDraw {
421424
el.culling = true;
422425
}
423426

427+
const silent = (regionModel as Model<RegionOption>).get('silent', true);
428+
silent != null && (el.silent = silent);
429+
424430
// We do not know how the SVG like so we'd better not to change z2.
425431
// Otherwise it might bring some unexpected result. For example,
426432
// an area hovered that make some inner city can not be clicked.

src/coord/geo/GeoModel.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export interface RegionOption extends GeoStateOption, StatesOptionMixin<GeoState
6363
name?: string
6464
selected?: boolean
6565
tooltip?: CommonTooltipOption<GeoTooltipFormatterParams>
66+
silent?: boolean
6667
}
6768

6869
/**

src/coord/geo/geoCreator.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -271,16 +271,17 @@ class GeoCreator implements CoordinateSystemCreator {
271271
const source = geoSourceManager.load(mapName, nameMap, nameProperty);
272272
zrUtil.each(source.regions, function (region) {
273273
const name = region.name;
274-
if (!dataNameMap.get(name)) {
275-
const regionOption = {
276-
name: name
274+
let regionOption = dataNameMap.get(name);
275+
// apply specified echarts style in GeoJSON data
276+
const specifiedGeoJSONRegionStyle = (region as GeoJSONRegion).properties
277+
&& (region as GeoJSONRegion).properties.echartsStyle;
278+
if (!regionOption) {
279+
regionOption = {
280+
name: name
277281
};
278-
// apply specified echarts style in GeoJSON data
279-
const specifiedGeoJSONRegionStyle = (region as GeoJSONRegion).properties
280-
&& (region as GeoJSONRegion).properties.echartsStyle;
281-
specifiedGeoJSONRegionStyle && zrUtil.merge(regionOption, specifiedGeoJSONRegionStyle);
282282
regionsArr.push(regionOption);
283283
}
284+
specifiedGeoJSONRegionStyle && zrUtil.merge(regionOption, specifiedGeoJSONRegionStyle);
284285
});
285286

286287
return regionsArr;

test/brush.html

Lines changed: 23 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/data/map/js/china.js

Lines changed: 57 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/data/map/json/china-cities.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

test/data/map/json/china-new.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

test/data/map/json/china.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

test/dataZoom-geo.html

Lines changed: 19 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)