map_xaj.js 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925
  1. var watfMap = {
  2. map: null, view: null, layer: [], allBizs: [], num: 0, nextid: function () {
  3. watfMap.num = watfMap.num + 1;
  4. return watfMap.num;
  5. }, trim: function (x) {
  6. return x.replace(/^\s+|\s+$/gm, '');
  7. }, showLayer: function (layerId) {
  8. var layer = watfMap.map.findLayerById(layerId);
  9. if (layer) {
  10. layer.visible = true;
  11. }
  12. }, hideLayer: function (layerId) {
  13. var layer = watfMap.map.findLayerById(layerId);
  14. if (layer) {
  15. layer.visible = false;
  16. }
  17. }, removeLayer: function (layerId) {
  18. watfMap.map.removeLayer(layerId);
  19. }
  20. };
  21. var dataWiuList = [];
  22. function formatDate(date) {
  23. var d = new Date(date), month = (d.getMonth() + 1), day = d.getDate(), year = d.getFullYear();
  24. if (parseInt(month) < 10) month = "0" + month;
  25. if (day.length < 2) day = "0" + day;
  26. return [year, month, day].join('-');
  27. }
  28. require(["esri/layers/WebTileLayer", "esri/layers/BaseTileLayer", "esri/layers/GraphicsLayer", "esri/layers/MapImageLayer", "esri/layers/TileLayer", "esri/geometry/SpatialReference", "esri/Basemap", "esri/Map", "esri/Graphic", "esri/Color", "esri/symbols/TextSymbol", "esri/symbols/SimpleMarkerSymbol", "esri/symbols/SimpleFillSymbol", "esri/geometry/Extent", "esri/geometry/Point", "esri/geometry/Polygon", "esri/geometry/Polyline", "esri/symbols/SimpleLineSymbol", "esri/views/MapView", "esri/request", "esri/config", "dojo/domReady!"], function (WebTileLayer, BaseTileLayer, GraphicsLayer, MapImageLayer, TileLayer, SpatialReference, Basemap, Map, Graphic, Color, TextSymbol, SimpleMarkerSymbol, SimpleFillSymbol, Extent, Point, Polygon, Polyline, SimpleLineSymbol, MapView, esriRequest, esriConfig) {
  29. //影像图
  30. var imgmapBaseLayer = new WebTileLayer({
  31. urlTemplate: "http://{subDomain}.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={level}&TILEROW={row}&TILECOL={col}&tk=5c5a468d333dbb827f134fb64818aa65",
  32. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  33. copyright: '天地图影像图'
  34. });
  35. //影像图
  36. var imganoBaseLayer = new WebTileLayer({
  37. urlTemplate: "http://{subDomain}.tianditu.gov.cn/cia_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={level}&TILEROW={row}&TILECOL={col}&tk=5c5a468d333dbb827f134fb64818aa65",
  38. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  39. copyright: '天地图影像注记'
  40. });
  41. //矢量图
  42. var vecmapBaseLayer = new WebTileLayer({
  43. urlTemplate: "http://{subDomain}.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={level}&TILEROW={row}&TILECOL={col}&tk=5c5a468d333dbb827f134fb64818aa65",
  44. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  45. copyright: '天地图矢量图'
  46. });
  47. //矢量图
  48. var vecanoBaseLayer = new WebTileLayer({
  49. urlTemplate: "http://{subDomain}.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={level}&TILEROW={row}&TILECOL={col}&tk=5c5a468d333dbb827f134fb64818aa65",
  50. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  51. copyright: '天地图矢量注记'
  52. });
  53. //地形图
  54. var termapBaseLayer = new WebTileLayer({
  55. urlTemplate: "http://{subDomain}.tianditu.gov.cn/ter_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ter&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={level}&TILEROW={row}&TILECOL={col}&tk=5c5a468d333dbb827f134fb64818aa65",
  56. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  57. copyright: '天地图地形图'
  58. });
  59. //地形图
  60. var teranoBaseLayer = new WebTileLayer({
  61. urlTemplate: "http://{subDomain}.tianditu.gov.cn/cta_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cta&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={level}&TILEROW={row}&TILECOL={col}&tk=5c5a468d333dbb827f134fb64818aa65",
  62. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  63. copyright: '天地图地形注记'
  64. });
  65. // 影像图
  66. var imgBasemap = new Basemap({
  67. baseLayers: [imgmapBaseLayer, imganoBaseLayer],
  68. title: "影像图",
  69. id: "img_w",
  70. thumbnailUrl: "https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/0/0/0"
  71. });
  72. // 矢量图
  73. var vecBasemap = new Basemap({
  74. baseLayers: [vecmapBaseLayer, vecanoBaseLayer],
  75. title: "矢量图",
  76. id: "vec_w",
  77. thumbnailUrl: "https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/0/0/0"
  78. });
  79. // 地形图
  80. var terBasemap = new Basemap({
  81. baseLayers: [termapBaseLayer, teranoBaseLayer],
  82. title: "地形图",
  83. id: "ter_w",
  84. thumbnailUrl: "https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/0/0/0"
  85. });
  86. var map = new Map({
  87. basemap: imgBasemap, //ground: "world-elevation"
  88. });
  89. var view = new MapView({
  90. container: "viewDiv",
  91. map: map,
  92. center: [118.61041, 29.72989],
  93. zoom: 10,
  94. });
  95. // var thblackLayer = new TileLayer({
  96. // url: "http://10.8.4.128/server/rest/services/OneMap/TH_XZQH_2000_BLACK/MapServer"
  97. // })
  98. // var map = new Map({
  99. // layers: [thblackLayer]
  100. // });
  101. // view = new MapView({
  102. // map: map, container: "viewDiv", popup: {
  103. // dockEnabled: false, dockOptions: {
  104. // buttonEnabled: false, breakpoint: false
  105. // }
  106. // }
  107. // });
  108. watfMap.map = map;
  109. watfMap.view = view;
  110. view.when(function () {
  111. // var ext = new Extent({
  112. // xmin: 117.23277038231637,
  113. // ymin: 29.520199484581486,
  114. // xmax: 123.65255617604646,
  115. // ymax: 32.551632806009266,
  116. // spatialReference: new SpatialReference({wkid: 4326})
  117. // });
  118. // view.extent = ext;
  119. // var point = new Point(118.61041, 29.72989, new SpatialReference(4326));
  120. // view.center = point;
  121. // view.zoom = 4;
  122. var loadXajAreaPath = function () {
  123. var line = new Polyline({
  124. paths: xaj_area_paths, spatialReference: {wkid: 4326}
  125. });
  126. var graphic_line = new Graphic({
  127. geometry: line, symbol: xaj_area_line
  128. });
  129. var graphicLayer_line = new GraphicsLayer();
  130. graphicLayer_line.add(graphic_line);
  131. map.add(graphicLayer_line);
  132. };
  133. var loadxqLines = function () {
  134. var gLayer = new GraphicsLayer({
  135. id: 'layer_xzfq'
  136. });
  137. watfMap.layer.push(gLayer);
  138. map.add(gLayer, 2);
  139. let fill = [];
  140. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([204, 254, 217, 0.6])));
  141. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([255, 227, 195, 0.6])));
  142. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([255, 49, 190, 0.6])));
  143. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([255, 227, 49, 0.6])));
  144. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([49, 255, 190, 0.6])));
  145. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([204, 254, 217, 0.6])));
  146. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([241, 227, 195, 0.6])));
  147. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([255, 227, 190, 0.6])));
  148. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([49, 255, 190, 0.6])));
  149. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([255, 49, 195, 0.6])));
  150. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([255, 49, 241, 0.6])));
  151. fill.push(SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([217, 49, 241, 0.6])));
  152. const featureList = xajCountyJson2.features;
  153. for (var i = 0; i < featureList.length; i++) {
  154. var attr = (featureList[i]).properties;
  155. var geometryType = (featureList[i]).geometry.type;
  156. var coordinates = (featureList[i]).geometry.coordinates;
  157. for (let j = 0; j < coordinates.length; j++) {
  158. var coodinate1 = coordinates[j];
  159. if (geometryType == 'Polygon') {
  160. var ptA = [];
  161. for (var m = 0; m < coodinate1.length; m++) {
  162. ptA.push([coodinate1[m][0], coodinate1[m][1]]);
  163. }
  164. var polygon = new Polygon(new SpatialReference({wkid: 4326}));
  165. polygon.addRing(ptA);
  166. let graphic = new Graphic({
  167. geometry: polygon, symbol: fill[i], tp: "area", attributes: attr,
  168. });
  169. gLayer.add(graphic);
  170. } else if (geometryType == 'MultiPolygon') {
  171. for (let k = 0; k < coodinate1.length; k++) {
  172. var coodinate2 = coodinate1[k];
  173. var ptA = [];
  174. for (var m = 0; m < coodinate2.length; m++) {
  175. ptA.push([coodinate2[m][0], coodinate2[m][1]]);
  176. }
  177. var polygon = new Polygon(new SpatialReference({wkid: 4326}));
  178. polygon.addRing(ptA);
  179. let graphic = new Graphic({
  180. geometry: polygon, symbol: fill[i], tp: "area", attributes: attr,
  181. });
  182. gLayer.add(graphic);
  183. }
  184. }
  185. }
  186. }
  187. for (const key in xajCityLocation) {
  188. var coords = xajCityLocation[key];
  189. var textSymbol = {
  190. type: "text",
  191. color: "white",
  192. haloColor: "white",
  193. haloSize: "30px",
  194. text: key,
  195. xoffset: 1,
  196. yoffset: 1,
  197. font: {
  198. size: 30, family: "sans-serif", weight: "bold"
  199. }
  200. };
  201. var point = new Point(coords[0], coords[1], new SpatialReference({wkid: 4326}));
  202. var graphic = new Graphic({
  203. geometry: point, symbol: textSymbol, attributes: key,
  204. });
  205. gLayer.add(graphic);
  206. }
  207. watfMap.hideLayer("layer_xzfq");
  208. };
  209. //二级区展示
  210. var loadsl2Lines = function () {
  211. var gLayer = new GraphicsLayer({
  212. id: 'layer_fq'
  213. });
  214. map.add(gLayer, 3);
  215. watfMap.layer.push(gLayer);
  216. const featureList = xajfqGeoJson.features;
  217. // 默认填充颜色数组
  218. var defaultFills = [
  219. new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([204, 254, 217, 0.5])),
  220. new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([255, 227, 195, 0.5])),
  221. new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([255, 49, 190, 0.5])),
  222. new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([255, 227, 49, 0.5])),
  223. new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([49, 255, 190, 0.5])),
  224. new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([195, 204, 254, 0.5])),
  225. new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([241, 227, 195, 0.5])),
  226. new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([255, 190, 227, 0.5])),
  227. new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2), new Color([190, 255, 227, 0.5]))
  228. ];
  229. // 先使用默认颜色绘制所有区域面(确保无论API是否成功都能显示区域)
  230. for (var i = 0; i < featureList.length; i++) {
  231. var attr = featureList[i].properties;
  232. var geometryType = featureList[i].geometry.type;
  233. var coordinates = featureList[i].geometry.coordinates;
  234. for (let j = 0; j < coordinates.length; j++) {
  235. var coodinate1 = coordinates[j];
  236. if (geometryType == 'Polygon') {
  237. var ptA = [];
  238. for (var m = 0; m < coodinate1.length; m++) {
  239. ptA.push([coodinate1[m][0], coodinate1[m][1]]);
  240. }
  241. var polygon = new Polygon(new SpatialReference({wkid: 4326}));
  242. polygon.addRing(ptA);
  243. let fillIndex = i % defaultFills.length;
  244. let graphic = new Graphic({
  245. geometry: polygon,
  246. symbol: defaultFills[fillIndex],
  247. tp: "area",
  248. attributes: attr,
  249. });
  250. gLayer.add(graphic);
  251. } else if (geometryType == 'MultiPolygon') {
  252. for (let k = 0; k < coodinate1.length; k++) {
  253. var coodinate2 = coodinate1[k];
  254. var ptA = [];
  255. for (var m = 0; m < coodinate2.length; m++) {
  256. ptA.push([coodinate2[m][0], coodinate2[m][1]]);
  257. }
  258. var polygon = new Polygon(new SpatialReference({wkid: 4326}));
  259. polygon.addRing(ptA);
  260. let fillIndex = i % defaultFills.length;
  261. let graphic = new Graphic({
  262. geometry: polygon,
  263. symbol: defaultFills[fillIndex],
  264. tp: "area",
  265. attributes: attr,
  266. });
  267. gLayer.add(graphic);
  268. }
  269. }
  270. }
  271. }
  272. //获取二级区降雨与多年平均降雨数据(成功后更新颜色)
  273. $.get(ctx + "gx/xaj/rainDnpj", {}, function (result) {
  274. if (result && result.data && result.data.length > 0) {
  275. let dataDrpList = result.data;
  276. // 清除现有图形,重新绘制带数据的图形
  277. gLayer.removeAll();
  278. for (var i = 0; i < featureList.length; i++) {
  279. var attr = featureList[i].properties;
  280. var geometryType = featureList[i].geometry.type;
  281. var coordinates = featureList[i].geometry.coordinates;
  282. for (let j = 0; j < coordinates.length; j++) {
  283. var coodinate1 = coordinates[j];
  284. var ptA = [];
  285. for (var m = 0; m < coodinate1.length; m++) {
  286. ptA.push([coodinate1[m][0], coodinate1[m][1]]);
  287. }
  288. var polygon = new Polygon(new SpatialReference({wkid: 4326}));
  289. polygon.addRing(ptA);
  290. // 查找匹配的降雨数据
  291. let matchedData = null;
  292. for (let k = 0; k < dataDrpList.length; k++) {
  293. if (dataDrpList[k].RVNM == attr.name) {
  294. matchedData = dataDrpList[k];
  295. break;
  296. }
  297. }
  298. let graphic;
  299. if (matchedData) {
  300. // 根据降雨偏差设置颜色
  301. let drpYear = matchedData.DRP;
  302. let drpDNPJ = matchedData.DNPJ;
  303. let bj = Number(((Number(drpYear) - Number(drpDNPJ)) / Number(drpDNPJ)).toFixed(2));
  304. let symbol = getRainDeviationSymbol(bj);
  305. graphic = new Graphic({
  306. geometry: polygon,
  307. symbol: symbol,
  308. tp: "area",
  309. attributes: matchedData,
  310. });
  311. } else {
  312. // 无匹配数据时使用默认颜色
  313. let fillIndex = i % defaultFills.length;
  314. graphic = new Graphic({
  315. geometry: polygon,
  316. symbol: defaultFills[fillIndex],
  317. tp: "area",
  318. attributes: attr,
  319. });
  320. }
  321. gLayer.add(graphic);
  322. }
  323. }
  324. }
  325. }).fail(function() {
  326. // API请求失败时保持默认颜色的区域面
  327. console.log("Failed to fetch rainDnpj data, using default colors");
  328. });
  329. };
  330. // 根据降雨偏差获取符号
  331. function getRainDeviationSymbol(bj) {
  332. let op = 0.5;
  333. let color = [157, 180, 186]; // 默认灰色
  334. if (bj < -0.5) {
  335. op = Math.abs(bj + 0.5) / 0.5;
  336. color = [239, 10, 10]; // 红色
  337. } else if (-0.5 < bj && bj <= -0.2) {
  338. op = Math.abs(bj + 0.3) / 0.3;
  339. color = [231, 210, 32]; // 黄色
  340. } else if (-0.2 < bj && bj <= 0.2) {
  341. op = Math.abs(bj + 0.2) / 0.4;
  342. color = [157, 180, 186]; // 灰色
  343. } else if (0.2 < bj && bj <= 0.5) {
  344. op = Math.abs(bj - 0.2) / 0.3;
  345. color = [0, 255, 191]; // 绿色
  346. } else if (bj > 0.5) {
  347. op = Math.abs(bj - 0.5) / 0.5;
  348. color = [0, 0, 255]; // 蓝色
  349. }
  350. // 限制透明度范围
  351. op = Math.min(Math.max(op, 0.2), 0.6);
  352. return SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID,
  353. SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color("#0416FF"), 2),
  354. new Color([color[0], color[1], color[2], op]));
  355. };
  356. var getWiuWWdata = function () {
  357. $.get(ctx + "gx/xaj/getWiuWW", {}, function (result) {
  358. dataWiuList = result.data;
  359. var inWW = 0, inCNT = 0, fwWW = 0, fwCNT = 0, gsWW = 0, gsCNT = 0;
  360. for (let i = 0; i < dataWiuList.length; i++) {
  361. if ((dataWiuList[i]).tradTp == '工业') {
  362. inCNT += (dataWiuList[i]).cnt;
  363. inWW += (dataWiuList[i]).yearWW;
  364. }
  365. if ((dataWiuList[i]).tradTp == '服务业') {
  366. fwCNT += (dataWiuList[i]).cnt;
  367. fwWW += (dataWiuList[i]).yearWW;
  368. }
  369. if ((dataWiuList[i]).tradTp == '公共供水') {
  370. gsCNT += (dataWiuList[i]).cnt;
  371. gsWW += (dataWiuList[i]).yearWW;
  372. }
  373. }
  374. $("#gyNum").html(inCNT);
  375. $("#gyWW").html((inWW / 10000).toFixed(1));
  376. $("#gsNum").html(gsCNT);
  377. $("#gsWW").html((gsWW / 10000).toFixed(1));
  378. $("#fwNum").html(fwCNT);
  379. $("#fwWW").html((fwWW / 10000).toFixed(1));
  380. $("#XAJNum").html((inCNT + gsCNT + fwCNT));
  381. $("#XAJWW").html(((inWW + gsWW + fwWW) / 10000).toFixed(1));
  382. });
  383. };
  384. $("#mapImg").click(function () {
  385. $(".ditu").show();
  386. });
  387. //水资源情势按钮点击
  388. $("#szyqs").click(function () {
  389. $(".szyqs").show();
  390. $(".jjxs").hide();
  391. watfMap.showLayer("layer_fq");
  392. watfMap.hideLayer("layer_xzfq");
  393. for (var i = 0; i < jyzf.length; i++) {
  394. watfMap.showLayer("layer_" + jyzf[i]);
  395. }
  396. for (var i = 0; i < jl.length; i++) {
  397. watfMap.showLayer("layer_" + jl[i]);
  398. }
  399. for (var i = 0; i < slgc.length; i++) {
  400. watfMap.showLayer("layer_" + slgc[i]);
  401. }
  402. for (var i = 0; i < qsh.length; i++) {
  403. watfMap.hideLayer("layer_" + qsh[i]);
  404. }
  405. });
  406. //经济社会展示按钮点击
  407. $("#jjxs").click(function () {
  408. $(".szyqs").hide();
  409. $(".jjxs").show();
  410. watfMap.showLayer("layer_xzfq");
  411. watfMap.hideLayer("layer_fq");
  412. for (var i = 0; i < jyzf.length; i++) {
  413. watfMap.hideLayer("layer_" + jyzf[i]);
  414. }
  415. for (var i = 0; i < jl.length; i++) {
  416. watfMap.hideLayer("layer_" + jl[i]);
  417. }
  418. for (var i = 0; i < slgc.length; i++) {
  419. watfMap.hideLayer("layer_" + slgc[i]);
  420. }
  421. for (var i = 0; i < qsh.length; i++) {
  422. watfMap.showLayer("layer_" + qsh[i]);
  423. }
  424. });
  425. $(".mapqiehuan .ditu .tuxing").click(function () {
  426. $(this).parents().find('.dituImg').removeClass("tips");
  427. $(this).find('.dituImg').addClass("tips");
  428. var ob = $(this).attr("ob");
  429. if (ob == 'tdt') {//天地图
  430. map.basemap = vecBasemap;
  431. } else if (ob == 'yxt') {//影像图
  432. map.basemap = imgBasemap;
  433. } else if (ob == 'dxt') {//地形图
  434. map.basemap = terBasemap;
  435. }
  436. });
  437. $(".ditu .closeBtn").click(function () {
  438. $(".ditu").hide();
  439. });
  440. //加载数据函数
  441. var loadData = function (_layer, _url, _param, symbol, callback, visiable) {
  442. $.ajax({
  443. url: _url, async: true, dataType: 'json', success: function (result) {
  444. if (result.status == 200) {
  445. callback(_layer, symbol, result.rows, visiable);
  446. }
  447. }
  448. });
  449. };
  450. var createGraphic = function (layer, symbol, datas, visiable) {
  451. var graphicLayer = new GraphicsLayer({
  452. id: layer
  453. });
  454. map.add(graphicLayer);
  455. watfMap.layer.push(graphicLayer);
  456. var len = datas.length;
  457. for (var i = 0; i < len; i++) {
  458. var data = datas[i];
  459. var lgtd = data.lgtd, lttd = data.lttd;
  460. if (lgtd != null && lttd != null) {
  461. var point = new Point(lgtd, lttd, new SpatialReference(4326));
  462. var graphic = new Graphic({
  463. geometry: point, attributes: data, symbol: symbol
  464. });
  465. graphicLayer.add(graphic);
  466. var _Layer = layer.replace("layer_");
  467. if (qsh.indexOf(_Layer) < 0) {
  468. var textSymbol = {
  469. type: "text",
  470. color: "#e6f8ef",
  471. haloColor: "black",
  472. haloSize: "20px",
  473. text: data.stnm,
  474. xoffset: data.xoffset,
  475. yoffset: data.yoffset,
  476. font: {
  477. size: 20, family: "仿宋", weight: "bold"
  478. }
  479. };
  480. var point = new Point(lgtd, lttd, new SpatialReference({wkid: 4326}));
  481. var graphic = new Graphic({
  482. geometry: point, symbol: textSymbol, attributes: data,
  483. });
  484. graphicLayer.add(graphic);
  485. }
  486. }
  487. }
  488. if (visiable == false) {
  489. watfMap.hideLayer(layer);
  490. }
  491. };
  492. var createGraphicWiu = function (layer, symbol, datas, visiable) {
  493. var graphicLayer = new GraphicsLayer({
  494. id: layer
  495. });
  496. map.add(graphicLayer);
  497. watfMap.layer.push(graphicLayer);
  498. for (var i = 0; i < datas.length; i++) {
  499. var data = datas[i];
  500. var lgtd = data.lgtd, lttd = data.lttd;
  501. if (lgtd != null && lttd != null) {
  502. var point = new Point(lgtd, lttd, new SpatialReference(4326));
  503. var sumbol_wiu = symbol_wiu1;
  504. if (data.tradTp == '工业') {
  505. sumbol_wiu = symbol_wiu1;
  506. }
  507. if (data.tradTp == '公共供水') {
  508. sumbol_wiu = symbol_wiu2;
  509. }
  510. if (data.tradTp == '服务业') {
  511. sumbol_wiu = symbol_wiu3;
  512. }
  513. var graphic = new Graphic({
  514. geometry: point, attributes: data, symbol: sumbol_wiu
  515. });
  516. graphicLayer.add(graphic);
  517. }
  518. }
  519. if (visiable == false) {
  520. watfMap.hideLayer(layer);
  521. }
  522. };
  523. /**
  524. * 定义图标区域
  525. * @type {{type: string, url: string, width: string, height: string}}
  526. */
  527. var symbol_flick = {
  528. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  529. url: ctx + "static/images/gis/dyCenter.gif", width: "64px", height: "64px"
  530. }
  531. //水利工程
  532. var symbol_sk = {
  533. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  534. url: ctx + "static/images/gis/ps.png?r=2", width: "16px", height: "14px"
  535. };
  536. //雨量
  537. var symbol_drp = {
  538. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  539. url: ctx + "static/images/gis/1-9mm.gif?r=2", width: "14px", height: "14px"
  540. };
  541. //蒸发站
  542. var symbol_zf = {
  543. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  544. url: ctx + "static/images/gis/skcxx1.gif?r=2", width: "14px", height: "14px"
  545. };
  546. //泾流
  547. var symbol_hdz = {
  548. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  549. url: ctx + "static/images/gis/sw.png?r=2", width: "12px", height: "16px"
  550. };
  551. //取水户
  552. var symbol_wiu1 = {
  553. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  554. url: ctx + "static/images/gis/qsh_1.png?r=2", width: "14px", height: "14px"
  555. };
  556. //取水户
  557. var symbol_wiu2 = {
  558. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  559. url: ctx + "static/images/gis/qsh_2.png?r=2", width: "14px", height: "14px"
  560. };
  561. //取水户
  562. var symbol_wiu3 = {
  563. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  564. url: ctx + "static/images/gis/qsh_3.png?r=2", width: "14px", height: "14px"
  565. };
  566. /**
  567. * GIS 页面,点击业务按钮,切换
  568. */
  569. $("#xzqPanel1 ul li").click(function () {
  570. var name = $(this).attr('name');
  571. let code = $(this).attr("bizCode");
  572. if ($(this).attr("class").indexOf(name + "1") > -1) {
  573. $(this).removeClass(name + "1").addClass(name);
  574. if (code == 'TBA_YJZF') {
  575. for (let i = 0; i < jyzf.length; i++) {
  576. watfMap.hideLayer("layer_" + jyzf[i]);
  577. }
  578. }
  579. if (code == 'TBA_JL') {
  580. for (let i = 0; i < jl.length; i++) {
  581. watfMap.hideLayer("layer_" + jl[i]);
  582. }
  583. }
  584. if (code == 'TBA_SLGC') {
  585. for (let i = 0; i < slgc.length; i++) {
  586. watfMap.hideLayer("layer_" + slgc[i]);
  587. }
  588. }
  589. } else {
  590. $(this).removeClass(name).addClass(name + "1");
  591. if (code == 'TBA_YJZF') {
  592. for (let i = 0; i < jyzf.length; i++) {
  593. watfMap.showLayer("layer_" + jyzf[i]);
  594. }
  595. }
  596. if (code == 'TBA_JL') {
  597. for (let i = 0; i < jl.length; i++) {
  598. watfMap.showLayer("layer_" + jl[i]);
  599. }
  600. }
  601. if (code == 'TBA_SLGC') {
  602. for (let i = 0; i < slgc.length; i++) {
  603. watfMap.showLayer("layer_" + slgc[i]);
  604. }
  605. }
  606. }
  607. view.popup.close();
  608. });
  609. //加载太湖流域边界线
  610. loadXajAreaPath();
  611. loadxqLines();
  612. loadsl2Lines();
  613. getWiuWWdata();
  614. for (var i = 0; i < jyzf.length; i++) {
  615. var bizCode = jyzf[i];
  616. watfMap.allBizs.push(bizCode);
  617. var bizDefine = gxdata.getDataDefine(bizCode);
  618. if (bizDefine) {
  619. if (bizCode == "AH_SL_ZF") {
  620. loadData('layer_' + bizCode, bizDefine.newestDataUrl, null, symbol_zf, createGraphic, true);
  621. } else {
  622. loadData('layer_' + bizCode, bizDefine.newestDataUrl, null, symbol_drp, createGraphic, true);
  623. }
  624. }
  625. }
  626. for (var i = 0; i < jl.length; i++) {
  627. var bizCode = jl[i];
  628. watfMap.allBizs.push(bizCode);
  629. var bizDefine = gxdata.getDataDefine(bizCode);
  630. if (bizDefine) {
  631. loadData('layer_' + bizCode, bizDefine.newestDataUrl, null, symbol_hdz, createGraphic, true);
  632. }
  633. }
  634. for (var i = 0; i < slgc.length; i++) {
  635. var bizCode = slgc[i];
  636. watfMap.allBizs.push(bizCode);
  637. var bizDefine = gxdata.getDataDefine(bizCode);
  638. if (bizDefine) {
  639. loadData('layer_' + bizCode, bizDefine.newestDataUrl, null, symbol_sk, createGraphic, true);
  640. }
  641. }
  642. for (var i = 0; i < qsh.length; i++) {
  643. var bizCode = qsh[i];
  644. watfMap.allBizs.push(bizCode);
  645. var bizDefine = gxdata.getDataDefine(bizCode);
  646. if (bizDefine) {
  647. loadData('layer_' + bizCode, bizDefine.newestDataUrl, null, null, createGraphicWiu, false);
  648. }
  649. }
  650. });
  651. view.on("pointer-move", function (event) {
  652. var screenPoint = {
  653. x: event.x, y: event.y
  654. };
  655. var point = view.toMap(screenPoint);
  656. $("#textPointLgtd").text(point.longitude);
  657. $("#textPointLttd").text(point.latitude);
  658. view.hitTest(screenPoint).then(function (response) {
  659. if (response.results[0].graphic) {
  660. var layerId = response.results[0].graphic.layer.id;
  661. var attr = response.results[0].graphic.attributes;
  662. var bizCode = layerId.replace('layer_', '');
  663. var pt = response.results[0].mapPoint;
  664. var bizDefine = gxdata.getDataDefine(bizCode);
  665. if (bizCode == 'fq') {
  666. var name = attr.RVNM;
  667. var strbj = "";
  668. let bj = (((Number(attr.DRP) - Number(attr.DNPJ)) / Number(attr.DNPJ)) * 100).toFixed(2);
  669. let html = "";
  670. if (bj > 0) {
  671. strbj += "+";
  672. }
  673. strbj += bj + "%";
  674. view.popup.open({
  675. title: "<span style='font-size: 16px'>" + name + "</span>",
  676. content: "<div style='font-size:12px;'>" +
  677. "<table>" +
  678. " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>累计降雨</td><td>:</td><td align='left'>&nbsp;" + attr.DRP + " </td> </tr>" +
  679. " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>多年平均同期降雨</td><td>:</td><td align='left'>&nbsp;" + attr.DNPJ + " </td> </tr>" +
  680. " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>较多年平均</td><td>:</td><td align='left'>&nbsp;" + strbj + " </td> </tr>" +
  681. "</table>" +
  682. "</div>",
  683. location: pt
  684. });
  685. return;
  686. } else if (bizCode == 'xzfq') {
  687. var name = attr.NAME99;
  688. var datawiu = [];
  689. for (let i = 0; i < dataWiuList.length; i++) {
  690. if ((dataWiuList[i]).county == name) {
  691. datawiu.push(dataWiuList[i]);
  692. }
  693. }
  694. var content = '';
  695. var cntAll = 0;
  696. var yearWW = 0;
  697. if (name == undefined) {
  698. return;
  699. }
  700. $('.esri-popup__main-container').css("width", "550px");
  701. for (var i = 0; i < datawiu.length; i++) {
  702. let data = datawiu[i];
  703. cntAll += data.cnt;
  704. yearWW += Number(((data.yearWW) / 10000).toFixed(1));
  705. content += "<tr><td align='right'style='text-align: justify; text-align-last: justify;'>" + isblankNull(data.tradTp) + "</td><td>:</td><td>" + data.cnt + "个/" + ((data.yearWW) / 10000).toFixed(1) + "万m³</td></tr>";
  706. }
  707. content += "<tr><td align='right' style='text-align: justify; text-align-last: justify;'>合计</td><td>:</td><td colspan='2'>" + cntAll + "个/" + (yearWW).toFixed(1) + "万m³</td></tr>";
  708. view.popup.open({
  709. title: "<span style='font-size: 16px'>" + name + "</span>",
  710. content: "<div style='font-size:12px;'>" + "<table>" + content + "</table>" + "</div>" + "<div>" + "</div>",
  711. location: pt
  712. });
  713. return;
  714. } else if (!bizDefine) {
  715. view.popup.close();
  716. return console.log('biz define not exist.', bizCode);
  717. } else if (bizCode == 'AH_SL_WIU' || bizCode == 'ZJ_SL_WIU') {//取水户
  718. view.popup.open({
  719. title: "<span style='font-size: 16px'>" + attr.stnm + "</span>",
  720. content: "<div style='font-size:12px;'>" + "<table>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>社会信用代码</td><td>:</td><td align='left'>&nbsp;" + attr.uscc + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>取水户类型</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.tradTp) + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>区县</td><td>:</td><td align='left'>&nbsp;" + attr.county + " </td> </tr>" + "</table>" + "</div>",
  721. location: pt
  722. });
  723. return;
  724. } else if (bizCode == 'AH_SL_YL' || bizCode == 'ZJ_SL_YL') {//降雨量数据弹框
  725. view.popup.open({
  726. title: "<span style='font-size: 16px'>" + attr.stnm + "</span>",
  727. content: "<div style='font-size:12px;'>" + "<table>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>共享单位</td><td>:</td><td align='left'>&nbsp;" + attr.unit + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>时间</td><td>:</td><td align='left'>&nbsp;" + isblankNull(dateTranYMD(attr.tm), "时间") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>降雨量</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.drp, "降雨量") + " </td> </tr>" + "</table>" + "</div>",
  728. location: pt
  729. });
  730. return;
  731. } else if (bizCode == 'AH_SL_ZF') {//蒸发量数据弹框
  732. view.popup.open({
  733. title: "<span style='font-size: 16px'>" + attr.stnm + "</span>",
  734. content: "<div style='font-size:12px;'>" + "<table>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>共享单位</td><td>:</td><td align='left'>&nbsp;" + attr.unit + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>时间</td><td>:</td><td align='left'>&nbsp;" + isblankNull(dateTranYMD(attr.tm), "时间") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>蒸发量</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.dyp, "蒸发量") + " </td> </tr>" + "</table>" + "</div>",
  735. location: pt
  736. });
  737. return;
  738. } else if (bizCode == 'TBA_SW_XAJ') {//太湖水位泾流
  739. view.popup.open({
  740. title: "<span style='font-size: 16px'>" + attr.stnm + "</span>",
  741. content: "<div style='font-size:12px;'>" + "<table>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>共享单位</td><td>:</td><td align='left'>&nbsp;" + attr.unit + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>时间</td><td>:</td><td align='left'>&nbsp;" + isblankNull(dateTranYMD(attr.tm), "时间") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>下泄流量</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.q, "下泄流量") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>保障情况</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.gurdinfo, "保障情况") + " </td> </tr>" + "</table>" + "</div>",
  742. location: pt
  743. });
  744. return;
  745. } else if (bizCode == 'AH_SL_JL' || bizCode == 'ZJ_SL_JL') {//安徽水利、浙江水利泾流
  746. view.popup.open({
  747. title: "<span style='font-size: 16px'>" + attr.stnm + "</span>",
  748. content: "<div style='font-size:12px;'>" + "<table>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>共享单位</td><td>:</td><td align='left'>&nbsp;" + attr.unit + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>时间</td><td>:</td><td align='left'>&nbsp;" + isblankNull(dateTranYMD(attr.tm), "时间") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>水位</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.z, "水位") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>径流量</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.q, "径流量") + " </td> </tr>" + "</table>" + "</div>",
  749. location: pt
  750. });
  751. return;
  752. } else if (bizCode == 'DW_XAJ_ST') {//水利工程数据
  753. view.popup.open({
  754. title: "<span style='font-size: 16px'>" + attr.stnm + "</span>",
  755. content: "<div style='font-size:12px;'>" + "<table>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>共享单位</td><td>:</td><td align='left'>&nbsp;" + attr.unit + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>时间</td><td>:</td><td align='left'>&nbsp;" + isblankNull(dateTranYMD(attr.tm), "时间") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>坝上水位</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.z, "坝上水位") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>入库流量</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.inq, "入库流量") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>出库流量</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.outq, "出库流量") + " </td> </tr>" + "</table>" + "</div>",
  756. location: pt
  757. });
  758. return;
  759. } else if (bizCode == 'FD_XAJ') {//水利工程数据
  760. view.popup.open({
  761. title: "<span style='font-size: 16px'>" + attr.stnm + "</span>",
  762. content: "<div style='font-size:12px;'>" + "<table>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>共享单位</td><td>:</td><td align='left'>&nbsp;" + attr.unit + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>时间</td><td>:</td><td align='left'>&nbsp;" + isblankNull(dateTranYMD(attr.tm), "时间") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>坝上水位</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.z, "坝上水位") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>坝下水位</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.dwz, "坝下水位") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>入库流量</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.inq, "入库流量") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>出库流量</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.outq, "出库流量") + " </td> </tr>" + "</table>" + "</div>",
  763. location: pt
  764. });
  765. return;
  766. } else if (bizCode == 'HS_SK_XAJ' || bizCode == 'CA_SK_XAJ') {//水利工程数据
  767. view.popup.open({
  768. title: "<span style='font-size: 16px'>" + attr.stnm + "</span>",
  769. content: "<div style='font-size:12px;'>" + "<table>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>共享单位</td><td>:</td><td align='left'>&nbsp;" + attr.unit + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>时间</td><td>:</td><td align='left'>&nbsp;" + isblankNull(dateTranYM(attr.tm), "时间") + " </td> </tr>" + " <tr> <td align='right' style='text-align: justify; text-align-last: justify;'>下泄水量</td><td>:</td><td align='left'>&nbsp;" + isblankNull(attr.ww, "下泄水量") + " </td> </tr>" + "</table>" + "</div>",
  770. location: pt
  771. });
  772. return;
  773. }
  774. } else {
  775. view.popup.close();
  776. }
  777. });
  778. });
  779. view.on("click", function (event) {
  780. var screenPoint = {
  781. x: event.x, y: event.y
  782. };
  783. view.hitTest(screenPoint).then(function (response) {
  784. if (response.results[0].graphic) {
  785. var pt = response.results[0].mapPoint;
  786. var attr = response.results[0].graphic.attributes;
  787. var bizCode = attr.bizCode;
  788. var layerId = "layer_" + bizCode;
  789. if (response.results[0].graphic.layer.id == "layer_xzfq") {
  790. if (xajCityLocation.hasOwnProperty(attr)) {
  791. //查看取用水GDP信息
  792. var frameUrl = ctx + "web/map_city.html?city=" + encodeURI(attr);
  793. var index = layer.open({
  794. type: 2,
  795. title: "历史取用水过程线",
  796. area: ['65%', '65%'],
  797. shade: 0,
  798. maxmin: false,
  799. scrollbar: false,
  800. fixed: true,
  801. resize: false,
  802. content: frameUrl,
  803. zIndex: layer.zIndex //重点1
  804. ,
  805. success: function (layero) {
  806. layer.setTop(layero); //重点2
  807. }
  808. });
  809. } else {
  810. pointerClik(attr.NAME99, attr.NAME99, "WIU_XAJ");
  811. }
  812. }
  813. if (response.results[0].graphic.layer.id == layerId) {
  814. pointerClik(attr.stcd, attr.stnm, bizCode);
  815. }
  816. }
  817. });
  818. });
  819. });
  820. function isblankNull(data, name) {
  821. if (name == "水位" || name == "坝上水位" || name == "坝下水位") {
  822. return data + " m ";
  823. } else if (name == "下泄流量" || name == "径流量" || name == "入库流量" || name == "出库流量") {
  824. return data + "&#9;m³/s ";
  825. } else if (name == "降雨量" || name == "蒸发量") {
  826. return data + " mm ";
  827. } else if (name == "下泄水量") {
  828. return data + " 万m³ ";
  829. } else if (data == "公共供水") {
  830. return "工业自备水源";
  831. } else if (data == "工业") {
  832. return "公共供水企业";
  833. } else if (data == "服务业") {
  834. return "服务业自备水源";
  835. } else if (data == null || data == "") {
  836. return "";
  837. } else {
  838. return data;
  839. }
  840. }
  841. function pointerClik(stcd, stnm, flag) {
  842. if (flag == 'AH_SL_YL' || flag == 'ZJ_SL_YL' || flag == 'AH_SL_ZF') {//降雨量,蒸发数据
  843. $('.sg-mask').css('display', 'none');
  844. $("#nameStcd").text(stnm);
  845. $('.sg-mask').css('display', 'block');
  846. $("#contentUrl").attr("src", ctx + "web/xaj-data-common-chart.html?bizCode=" + flag + "&stcd=" + stcd + "&stnm=" + encodeURI(stnm));
  847. } else if (flag == 'AH_SL_JL' || flag == 'ZJ_SL_JL') {
  848. $('.sg-mask').css('display', 'none');
  849. $("#nameStcd").text(stnm);
  850. $('.sg-mask').css('display', 'block');
  851. $("#contentUrl").attr("src", ctx + "web/xaj-data-common-chart.html?bizCode=" + flag + "&stcd=" + stcd + "&stnm=" + encodeURI(stnm));
  852. } else if (flag == 'TBA_SW_XAJ') {
  853. $('.sg-mask').css('display', 'none');
  854. $("#nameStcd").text(stnm);
  855. $('.sg-mask').css('display', 'block');
  856. $("#contentUrl").attr("src", ctx + "web/xaj-data-st-chart.html?bizCode=" + flag + "&stcd=" + stcd + "&stnm=" + encodeURI(stnm));
  857. } else if (flag == 'DW_XAJ_ST' || flag == 'FD_XAJ' || flag == 'HS_SK_XAJ' || flag == 'CA_SK_XAJ') {
  858. $('.sg-mask').css('display', 'none');
  859. $("#nameStcd").text(stnm);
  860. $('.sg-mask').css('display', 'block');
  861. $("#contentUrl").attr("src", ctx + "web/xaj-data-sk-chart.html?bizCode=" + flag + "&stcd=" + stcd + "&stnm=" + encodeURI(stnm));
  862. } else if (flag == 'WIU_XAJ') {
  863. $('.sg-mask').css('display', 'none');
  864. $("#nameStcd").text(stnm);
  865. $('.sg-mask').css('display', 'block');
  866. $("#contentUrl").attr("src", ctx + "web/xaj-data-common-chart.html?bizCode=" + flag + "&stcd=" + stcd + "&stnm=" + encodeURI(stnm));
  867. } else if (flag == 'GDP_XAJ') {
  868. $('.sg-mask').css('display', 'none');
  869. $("#nameStcd").text(stnm);
  870. $('.sg-mask').css('display', 'block');
  871. $("#contentUrl").attr("src", ctx + "web/xaj-data-common-chart.html?bizCode=" + flag + "&stcd=" + stcd + "&stnm=" + encodeURI(stnm));
  872. } else if (flag == 'AH_SL_WIU' || flag == 'ZJ_SL_WIU') {
  873. //查看取用水电子证照信息
  874. var frameUrl = ctx + "web/map_tbaWiu.html?wiuId=" + stcd + "&wiuCd=" + stcd + "&wiuNm=" + stnm;
  875. var index = layer.open({
  876. type: 2,
  877. title: stnm,
  878. area: ['65%', '65%'],
  879. shade: 0,
  880. maxmin: false,
  881. scrollbar: false,
  882. fixed: false,
  883. resize: false,
  884. content: frameUrl,
  885. zIndex: layer.zIndex //重点1
  886. ,
  887. success: function (layero) {
  888. layer.setTop(layero); //重点2
  889. }
  890. });
  891. }
  892. }
  893. var xajCityLocation = {
  894. "黄山市": [118.0481, 29.9542],
  895. "宣城市": [118.65459, 30.1078],
  896. "淳安县": [118.8854, 29.6091],
  897. "建德市": [119.36832, 29.48395],
  898. };