1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import * as zrUtil from 'zrender/lib/core/util.js';
- export default function mapSymbolLayout(ecModel) {
- var processedMapType = {};
- ecModel.eachSeriesByType('map', function (mapSeries) {
- var mapType = mapSeries.getMapType();
- if (mapSeries.getHostGeoModel() || processedMapType[mapType]) {
- return;
- }
- var mapSymbolOffsets = {};
- zrUtil.each(mapSeries.seriesGroup, function (subMapSeries) {
- var geo = subMapSeries.coordinateSystem;
- var data = subMapSeries.originalData;
- if (subMapSeries.get('showLegendSymbol') && ecModel.getComponent('legend')) {
- data.each(data.mapDimension('value'), function (value, idx) {
- var name = data.getName(idx);
- var region = geo.getRegion(name);
-
-
-
- if (!region || isNaN(value)) {
- return;
- }
- var offset = mapSymbolOffsets[name] || 0;
- var point = geo.dataToPoint(region.getCenter());
- mapSymbolOffsets[name] = offset + 1;
- data.setItemLayout(idx, {
- point: point,
- offset: offset
- });
- });
- }
- });
-
- var data = mapSeries.getData();
- data.each(function (idx) {
- var name = data.getName(idx);
- var layout = data.getItemLayout(idx) || {};
- layout.showLabel = !mapSymbolOffsets[name];
- data.setItemLayout(idx, layout);
- });
- processedMapType[mapType] = true;
- });
- }
|