diff --git a/src/chart/map/MapSeries.js b/src/chart/map/MapSeries.js index 30bdfe4c01326ab9d7404688691789b2e008926a..b0b52f9335963b4bfc0fe5a69a5951e4f302558d 100644 --- a/src/chart/map/MapSeries.js +++ b/src/chart/map/MapSeries.js @@ -37,10 +37,13 @@ define(function (require) { needsDrawMap: false, init: function (option, parentModel, ecModel, dependentModels, seriesIndex) { + + option = this._fillOption(option); + this.option = option; + SeriesModel.prototype.init.call( this, option, parentModel, ecModel, dependentModels, seriesIndex ); - option = this._fillOption(option); this.updateSelectedMap(); }, @@ -56,8 +59,8 @@ define(function (require) { }, mergeOption: function (newOption) { - SeriesModel.prototype.mergeOption.call(this, newOption); newOption = this._fillOption(newOption); + SeriesModel.prototype.mergeOption.call(this, newOption); this.updateSelectedMap(); }, diff --git a/src/chart/map/MapView.js b/src/chart/map/MapView.js index b3008eafdf571e29cc7408a6c38554bc71d816dc..6255b1f9d25912541500194d2bf77af20af59332 100644 --- a/src/chart/map/MapView.js +++ b/src/chart/map/MapView.js @@ -40,9 +40,6 @@ define(function (require) { var group = this.group; data.each('value', function (value, idx) { - if (isNaN(value)) { - return; - } var itemModel = data.getItemModel(idx); var labelModel = itemModel.getModel('label.normal'); var textStyleModel = labelModel.getModel('textStyle'); @@ -51,30 +48,39 @@ define(function (require) { var point = layout.point; var offset = layout.offset; - var circle = new graphic.Circle({ - style: { - fill: data.getVisual('color') - }, - shape: { - cx: point[0] + offset * 9, - cy: point[1], - r: 3 - }, - silent: true, - - z2: 10 - }); - - if (labelModel.get('show') && !offset) { - circle.setStyle({ - text: data.getName(idx), - textFill: textStyleModel.get('color'), - textPosition: 'bottom', - textFont: textStyleModel.getFont() + var showLabel = labelModel.get('show'); + + var labelText = data.getName(idx); + var labelColor = textStyleModel.get('color'); + var labelFont = textStyleModel.getFont(); + + if (!isNaN(value)) { + var circle = new graphic.Circle({ + style: { + fill: data.getVisual('color') + }, + shape: { + cx: point[0] + offset * 9, + cy: point[1], + r: 3 + }, + silent: true, + + z2: 10 }); + + if (showLabel && !offset) { + circle.setStyle({ + text: labelText, + textFill: labelColor, + textPosition: 'bottom', + textFont: labelFont + }); + } + + group.add(circle); } - group.add(circle); }); } }); diff --git a/src/chart/map/mapDataStatistic.js b/src/chart/map/mapDataStatistic.js index 62f91ed10ff705d92aa933c04e7da0af3155c082..3047234cd39830167b4ed2f1a577fe97bfb44e02 100644 --- a/src/chart/map/mapDataStatistic.js +++ b/src/chart/map/mapDataStatistic.js @@ -2,8 +2,6 @@ define(function (require) { var zrUtil = require('zrender/core/util'); - var List = require('../../data/List'); - // FIXME 公用? /** * @param {Array.} datas @@ -34,7 +32,7 @@ define(function (require) { if (statisticsType === 'average') { sum /= len; } - return sum; + return len === 0 ? NaN : sum; }); } diff --git a/src/chart/map/mapSymbolLayout.js b/src/chart/map/mapSymbolLayout.js index ab671da185120d77f2a1d0b58c8fdbe637c0177e..57888c046ad0c03331590c163336b115c10eff20 100644 --- a/src/chart/map/mapSymbolLayout.js +++ b/src/chart/map/mapSymbolLayout.js @@ -10,10 +10,6 @@ define(function (require) { var data = mapModel.getData(); data.each('value', function (value, idx) { - if (isNaN(value)) { - return; - } - var name = data.getName(idx); var region = geo.getRegion(name);