1.效果图

PS:
表格数据只有第一列为真实获取,剩余为写死的数据。
查询的结果是一个地区的不同属性。
Echarts要展示的为不同地区的同一属性,为方便测试功能,就没有重新制图。

2.注意

加载模块时,只能有一种采用配置路径加载。

为什么呢?
例如,ArcJS的模块加载路径是在https://js.arcgis.com/3.28/,如果echarts也采用这种方法加载模块,那么便会出现这种情况,例如加载echarts.min.js包,在浏览器开发者模式下NetWork中的该资源的下载路径是https://js.arcgis.com/3.28/echarts.min.js显然这个路径下是下载不到这个包的,就会报错,显示echarts.min.js文件下载出错。

解决:
任一个的包部署在本地之后,本地加载。
注意加载的顺序,先加载echarts在加载ArcJS。
**因为Echarts的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边

3. 贴代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>QueryTask</title>

<script src="../echarts.min.js"></script>
<link rel="stylesheet" href="https://js.arcgis.com/3.28/esri/css/esri.css" />
<script type="text/Javascript" src="https://js.arcgis.com/3.28/"></script>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<style type="text/css">
.MapClass {
width: 100%;
height: 520px;
/* border:1px solid #000; */
}
</style>
<script>
var beijing0 = "http://localhost:6080/arcgis/rest/services/ecology/beijing_2012_3/MapServer/0";

var GL_pt_NL_NAME_3;
var GL_pt_area_td;

require(["esri/map", "esri/layers/ArcGISDynamicMapServiceLayer", "dojo/dom", "dojo/on", "dojo/query", "esri/tasks/QueryTask", "esri/tasks/query", "esri/symbols/SimpleLineSymbol", "esri/Color",
"dojo/domReady!"],
function (Map, ArcGISDynamicMapServiceLayer, dom, on, query, QueryTask, Query, SimpleLineSymbol, Color) {
var map = new Map("mapDiv");
var layer = new ArcGISDynamicMapServiceLayer("http://localhost:6080/arcgis/rest/services/ecology/beijing_2012_3/MapServer");
map.addLayer(layer)

//给属性查询按钮添加click事件
on(dom.byId("Btn_sx"), "click", function (e) {
// var text = document.getElementById("te").value;

var text = $("#te").val();

//定义查询对象
var queryTask = new QueryTask(beijing0);
//定义查询参数对象
var query = new Query();
//查询条件,类似于sql语句的where子句
query.where = "FID = " + text;
//返回的字段信息:*代表返回全部字段
query.outFields = ["*"];

//是否返回几何形状
query.returnGeometry = true;
//执行属性查询
var a = queryTask.execute(query, showQueryResult);
// alert(re());

})
//属性查询完成之后,用showQueryResult来处理返回的结果
function showQueryResult(queryResult) {
if (queryResult.features.length >= 1) {
for (var i = 0; i < queryResult.features.length; i++) {
var graphic = queryResult.features[i];

var pt_NL_NAME_3 = graphic.attributes["NL_NAME_3"];
var pt_area_td = graphic.attributes["土地面积"];


GL_pt_NL_NAME_3 = pt_NL_NAME_3;
GL_pt_area_td = pt_area_td;
}
}

var x = document.getElementById("main");
var myChart = echarts.init(x);
var option = {
tooltip: { show: true },
legend: { data: ['123'] },
xAxis: [{ type: 'category', data: [GL_pt_NL_NAME_3, "朝阳区", "大厂区"] }],
yAxis: [{ type: 'value' }],
series: [{ "name": "销量", "type": "bar", "data": [pt_area_td, 1500, 1000] }]
};
myChart.setOption(option);


}

});

</script>
</head>

<body>
<input type="text" value="在此处输入需要查询的XX" id="te">
<input type="button" value="属性查询" id="Btn_sx" />

<div id="mapDiv" class="MapClass"></div>

<div id="main" style="height:400px;"></div>

</body>

</html>