diff --git a/datagear-web/src/main/resources/org/datagear/web/builtInDashboardTemplates/dashboard-chart-icon.zip b/datagear-web/src/main/resources/org/datagear/web/builtInDashboardTemplates/dashboard-chart-icon.zip index 60cd3d58..089711d8 100644 Binary files a/datagear-web/src/main/resources/org/datagear/web/builtInDashboardTemplates/dashboard-chart-icon.zip and b/datagear-web/src/main/resources/org/datagear/web/builtInDashboardTemplates/dashboard-chart-icon.zip differ diff --git a/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.scatter.zip b/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.scatter.zip new file mode 100644 index 00000000..82f2a7a5 Binary files /dev/null and b/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.scatter.zip differ diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js index c877c394..d15a50b3 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js @@ -709,7 +709,7 @@ * * @param result 数据集结果对象、对象数组 * @param nameProperty 名称属性对象、属性名 - * @param valueProperty 值属性对象、属性名 + * @param valueProperty 值属性对象、属性名、数组 * @param row 行索引,以0开始,可选,默认为0 * @param count 获取结果数据的最多行数,可选,默认为全部 * @return [{name: ..., value: ...}, ...] @@ -729,17 +729,37 @@ getCount = count; nameProperty = (nameProperty.name || nameProperty); - valueProperty = (valueProperty.name || valueProperty); - for(var i=row; i< getCount; i++) + if(valueProperty.length) { - var obj = + for(var i=row; i< getCount; i++) { - "name" : datas[i][nameProperty], - "value" : datas[i][valueProperty] - }; + var name = datas[i][nameProperty]; + var value = []; + + for(var j=0; j 0) ? options.series[0].map : undefined); + options = chart.options($.extend(true, + { + title: { + text: chart.nameNonNull() + }, + tooltip: + { + trigger: "item", + formatter: function (params) + { + return params.name + "
" + params.value[2]; + } + }, + geo: + { + roam: true, + map: (chart.map() || "china") + }, + //最大数据标记像素数 + symbolSizeMax: undefined, + series: + [ + { + name: "", + type: "scatter", + coordinateSystem: "geo", + data: [] + } + ] + }, + options)); + + var map = options.geo.map; + + chart.extValue("mapPresetMap", map); + chart.map(map); + if(options.symbolSizeMax) + chartSupport.scatterSymbolSizeMax(chart, options.symbolSizeMax); + chartSupport.optionSeriesTemplate(chart, options); + + if(chart.echartsMapRegistered(map)) + { + chart.echartsInit(options, false); + chart.statusPreUpdate(true); + } + else + { + chart.echartsMapLoad(map, function() + { + chart.echartsInit(options, false); + chart.statusPreUpdate(true); + }); + } + }; + + chartSupport.mapScatterUpdate = function(chart, results, coordSign, coordLongitudeSign, coordLatitudeSign, valueSign) + { + var chartDataSets = chart.chartDataSetsNonNull(); + + var legendData = []; + var series = []; + + var min = undefined, max = undefined; + var symbolSizeMax = chartSupport.scatterSymbolSizeMax(chart, {ratio:0.1}); + + for(var i=0; i