diff --git a/src/chart/map/MapSeries.js b/src/chart/map/MapSeries.js index 7db8aec0d57f5d1cd62a72909ec32128a8b186c2..554ff55e2065e6fea8caad577759edb90416dc19 100644 --- a/src/chart/map/MapSeries.js +++ b/src/chart/map/MapSeries.js @@ -77,7 +77,7 @@ define(function (require) { // mapValueCalculation: 'sum', // 地图数值计算结果小数精度 // mapValuePrecision: 0, - // 显示图例颜色标识(系列标识的小圆点) + // 显示图例颜色标识(系列标识的小圆点),图例开启时有效 showLegendSymbol: true, // 选择模式,默认关闭,可选single,multiple // selectedMode: false, diff --git a/src/chart/map/MapView.js b/src/chart/map/MapView.js index ba80260123c65aaca5c7256eb5ed64db5808035e..4b3f34b319fb71d8b302116172d367d56d3aa423 100644 --- a/src/chart/map/MapView.js +++ b/src/chart/map/MapView.js @@ -13,7 +13,7 @@ define(function (require) { mapModel.needsDrawMap && this._renderArea(mapModel, ecModel, api); - mapModel.get('showLegendSymbol') + mapModel.get('showLegendSymbol') && ecModel.getComponent('legend') && this._renderSymbols(mapModel, ecModel, api); }, diff --git a/src/coord/geo/GeoModel.js b/src/coord/geo/GeoModel.js index d582969574bb3e8a29557d7ebf1df9da16def420..8e59954f222aafe69f86b61aee73aceffcdad5c6 100644 --- a/src/coord/geo/GeoModel.js +++ b/src/coord/geo/GeoModel.js @@ -17,7 +17,9 @@ define(function (require) { z: 0, - center: ['50%', '50%'], + x: 'center', + + y: 'center', width: '70%', diff --git a/src/coord/geo/geoCreator.js b/src/coord/geo/geoCreator.js index 719c020ce448d47b28f5de58ba34b4616701f871..d5b78f81c60bc64503a09bcd6084d93ac5235953 100644 --- a/src/coord/geo/geoCreator.js +++ b/src/coord/geo/geoCreator.js @@ -14,14 +14,12 @@ define(function (require) { * @param {module:echarts/ExtensionAPI} api */ var resizeGeo = function (locModel, api) { - var center; if (locModel.type === 'series.map') { locModel = locModel.getModel('mapLocation'); - center = [locModel.get('x'), locModel.get('y')]; - } - else { - center = locModel.get('center'); } + + var x = locModel.get('x'); + var y = locModel.get('y'); var width = locModel.get('width'); var height = locModel.get('height'); @@ -29,8 +27,9 @@ define(function (require) { var viewHeight = api.getHeight(); var parsePercent = numberUtil.parsePercent; - var cx = parsePercent(center[0], viewWidth); - var cy = parsePercent(center[1], viewHeight); + var cx = parsePercent(x, viewWidth); + var cy = parsePercent(y, viewHeight); + width = parsePercent(width, viewWidth); height = parsePercent(height, viewHeight); @@ -44,6 +43,29 @@ define(function (require) { width = rect.width / rect.height * height; } + // Special position + // FIXME + switch (x) { + case 'center': + break; + case 'right': + cx -= width; + break; + default: + cx += width / 2; + break; + } + switch (y) { + case 'center': + break; + case 'bottom': + cy -= height; + break; + default: + cy += height / 2; + break; + } + this.transformTo(cx, cy, width, height); } diff --git a/test/geoScatter.html b/test/geoScatter.html index 11649cf744078457e44c82fc7fcfd4f49cef382d..5e07b46647c693125cd4fbd42088fd18a370bb53 100644 --- a/test/geoScatter.html +++ b/test/geoScatter.html @@ -16,14 +16,14 @@ require([ 'echarts', - 'geoJson/world_geo', + 'geoJson/china_geo', 'echarts/chart/scatter', 'echarts/component/legend', 'echarts/component/geo' - ], function (echarts, worldJson) { + ], function (echarts, chinaJson) { - echarts.registerMap('world', worldJson); + echarts.registerMap('china', chinaJson); var placeList = [ {name:'海门', geoCoord:[121.15, 31.89]}, @@ -252,7 +252,7 @@ data: ['scatter', 'scatter2'] }, geo: { - map: 'world' + map: 'china' }, tooltip: { trigger: 'axis', diff --git a/test/mapWorld.html b/test/mapWorld.html index 0743749f729a4d9d03f723b2a3c1567f77047d34..017210e5ad2706e5b1f059baf9fa3d2ceccc0919 100644 --- a/test/mapWorld.html +++ b/test/mapWorld.html @@ -75,7 +75,8 @@ type: 'map', mapType: 'world', mapLocation: { - // y : 60 + y : 60, + width: '80%' }, itemStyle: itemStyle, data:[