map_wiu.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716
  1. var watfMap = {
  2. map: null,
  3. view: null,
  4. layer: [],
  5. allBizs: [],
  6. num: 0,
  7. nextid: function () {
  8. watfMap.num = watfMap.num + 1;
  9. return watfMap.num;
  10. },
  11. trim: function (x) {
  12. return x.replace(/^\s+|\s+$/gm, '');
  13. },
  14. showLayer: function (layerId) {
  15. var layer = watfMap.map.findLayerById(layerId);
  16. if (layer) {
  17. layer.visible = true;
  18. }
  19. },
  20. hideLayer: function (layerId) {
  21. var layer = watfMap.map.findLayerById(layerId);
  22. if (layer) {
  23. layer.visible = false;
  24. }
  25. },
  26. removeLayer: function (layerId) {
  27. watfMap.map.removeLayer(layerId);
  28. }
  29. };
  30. function formatDate(date) {
  31. var d = new Date(date),
  32. month = (d.getMonth() + 1),
  33. day = d.getDate(),
  34. year = d.getFullYear();
  35. if (parseInt(month) < 10) month = "0" + month;
  36. if (day.length < 2) day = "0" + day;
  37. return [year, month, day].join('-');
  38. }
  39. require([
  40. "esri/layers/WebTileLayer",
  41. "esri/layers/BaseTileLayer",
  42. "esri/layers/GraphicsLayer",
  43. "esri/layers/MapImageLayer",
  44. "esri/layers/TileLayer",
  45. "esri/geometry/SpatialReference",
  46. "esri/Basemap",
  47. "esri/Map",
  48. "esri/Graphic",
  49. "esri/Color",
  50. "esri/symbols/TextSymbol",
  51. "esri/symbols/SimpleMarkerSymbol",
  52. "esri/geometry/Extent",
  53. "esri/geometry/Point",
  54. "esri/geometry/Polyline",
  55. "esri/symbols/SimpleLineSymbol",
  56. "esri/views/MapView",
  57. "esri/request",
  58. "esri/config",
  59. "dojo/domReady!"
  60. ], function (WebTileLayer, BaseTileLayer, GraphicsLayer, MapImageLayer, TileLayer, SpatialReference, Basemap,
  61. Map, Graphic, Color, TextSymbol, SimpleMarkerSymbol, Extent, Point, Polyline, SimpleLineSymbol,
  62. MapView, esriRequest, esriConfig) {
  63. // //esriConfig.request.corsEnabledServers.push("http://106.15.207.106:6080");
  64. // esriConfig.request.corsEnabledServers.push("http://mt2.google.cn/", "http://mt0.google.cn/");
  65. //影像图
  66. var imgmapBaseLayer = new WebTileLayer({
  67. 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",
  68. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  69. copyright: '天地图影像图'
  70. });
  71. //影像图
  72. var imganoBaseLayer = new WebTileLayer({
  73. 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",
  74. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  75. copyright: '天地图影像注记'
  76. });
  77. //矢量图
  78. var vecmapBaseLayer = new WebTileLayer({
  79. 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",
  80. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  81. copyright: '天地图矢量图'
  82. });
  83. //矢量图
  84. var vecanoBaseLayer = new WebTileLayer({
  85. 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",
  86. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  87. copyright: '天地图矢量注记'
  88. });
  89. //地形图
  90. var termapBaseLayer = new WebTileLayer({
  91. 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",
  92. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  93. copyright: '天地图地形图'
  94. });
  95. //地形图
  96. var teranoBaseLayer = new WebTileLayer({
  97. 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",
  98. subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
  99. copyright: '天地图地形注记'
  100. });
  101. // 影像图
  102. var imgBasemap = new Basemap({
  103. baseLayers: [imgmapBaseLayer, imganoBaseLayer],
  104. title: "影像图",
  105. id: "img_w",
  106. thumbnailUrl: "https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/0/0/0"
  107. });
  108. // 矢量图
  109. var vecBasemap = new Basemap({
  110. baseLayers: [vecmapBaseLayer, vecanoBaseLayer],
  111. title: "矢量图",
  112. id: "vec_w",
  113. thumbnailUrl: "https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/0/0/0"
  114. });
  115. // 地形图
  116. var terBasemap = new Basemap({
  117. baseLayers: [termapBaseLayer, teranoBaseLayer],
  118. title: "地形图",
  119. id: "ter_w",
  120. thumbnailUrl: "https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/0/0/0"
  121. });
  122. var thblackLayer = new TileLayer({
  123. url: "http://" + (window.location.host == '58.247.45.108:8091' ? '58.247.45.108:8091' : '10.8.11.132:8091') + "/server/rest/services/OneMap/TH_XZQH_2000/MapServer"
  124. });
  125. // add the layer to a new map
  126. // var map = new Map({
  127. // layers: [thblackLayer]
  128. // });
  129. var map = new Map({
  130. basemap: imgBasemap,
  131. //ground: "world-elevation"
  132. });
  133. // add the map to a new 3d view
  134. var view = new MapView({
  135. container: "viewDiv",
  136. map: map,
  137. center: [120.879127, 31.231901],
  138. zoom: 9,
  139. });
  140. watfMap.map = map;
  141. watfMap.view = view;
  142. var qshGraphicLayer = null;
  143. view.when(function () {
  144. var ext = new Extent({
  145. xmin: 117.23277038231637,
  146. ymin: 29.520199484581486,
  147. xmax: 123.65255617604646,
  148. ymax: 32.551632806009266,
  149. spatialReference: new SpatialReference({wkid: 4326})
  150. });
  151. view.extent = ext;
  152. var loadTbaAreaPath = function () {
  153. var line = new Polyline({
  154. paths: tba_area_paths,
  155. spatialReference: {wkid: 4326}
  156. });
  157. var graphic_line = new Graphic({
  158. geometry: line,
  159. symbol: tba_area_line
  160. });
  161. var graphicLayer_line = new GraphicsLayer();
  162. graphicLayer_line.add(graphic_line);
  163. map.add(graphicLayer_line);
  164. };
  165. $("#mapImg").click(function () {
  166. $(".ditu").show();
  167. });
  168. $(".mapqiehuan .ditu .tuxing").click(function () {
  169. $(this).parents().find('.dituImg').removeClass("tips");
  170. $(this).find('.dituImg').addClass("tips");
  171. var ob = $(this).attr("ob");
  172. if (ob == 'tdt') {//天地图
  173. map.basemap = vecBasemap;
  174. } else if (ob == 'yxt') {//影像图
  175. map.basemap = imgBasemap;
  176. } else if (ob == 'dxt') {//地形图
  177. map.basemap = terBasemap;
  178. }
  179. });
  180. $(".ditu .closeBtn").click(function () {
  181. $(".ditu").hide();
  182. });
  183. // $("#mapSelect").change(function () {
  184. // var mapType = $(this).val();
  185. // if (mapType == 'tdt') {//天地图
  186. // map.basemap = vecBasemap;
  187. // } else if (mapType == 'yxt') {//影像图
  188. // map.basemap = imgBasemap;
  189. // } else if (mapType == 'dxt') {//地形图
  190. // map.basemap = terBasemap;
  191. // }
  192. // });
  193. var showBizNewestTable = function (bizCode, stnm) {
  194. $.jgrid.gridUnload("jqGrid");//销毁原先的数据表格
  195. var bizDefine = gxdata.getDataDefine(bizCode);
  196. if (!bizDefine) {
  197. return;
  198. }
  199. //{label: '测站编码', name: 'STCD', width: 220, align: 'center', key: true, hidden: true},
  200. //
  201. var cols = [];
  202. cols.push({label: '测站编码', name: 'stcd', width: 220, aligin: 'center', key: true, hidden: true});
  203. cols.push({label: '经度', name: 'lgtd', width: 160, hidden: true});
  204. cols.push({label: '纬度', name: 'lttd', width: 160, hidden: true});
  205. var tbl = bizDefine.layuiTable;
  206. for (var i = 0; i < tbl.length; i++) {
  207. if (tbl[i].field == 'id') {
  208. continue;
  209. }
  210. cols.push({
  211. label: tbl[i].title,
  212. name: tbl[i].field,
  213. width: tbl[i].width || 100,
  214. align: tbl[i].align || 'center',
  215. sortable: false,
  216. formatter: tbl[i].field.toLocaleLowerCase() == 'tm' || tbl[i].field.toLocaleLowerCase() == 'spt' ? dateTran : function (val) {
  217. return val || '';
  218. }
  219. });
  220. }
  221. console.log('cols:...', cols);
  222. $("#jqGrid").jqGrid({
  223. url: bizDefine.newestDataUrl + '&stnm=' + encodeURI(stnm || ''),
  224. datatype: "json",
  225. colModel: cols,
  226. altRows: true,
  227. viewrecords: true,
  228. height: 350,
  229. width: 350,
  230. rowNum: 'all',// 每页多少行,用于分页
  231. rownumbers: false,//显示行号
  232. rownumWidth: 25,
  233. shrinkToFit: false,
  234. scrollOffset: 8,
  235. sortable: false,
  236. multiselect: false,
  237. pager: "#jqGridPager", //表格分页
  238. gridComplete: function () {
  239. $("#jqGridPager_left").css("display", "none");
  240. $("#jqGridPager_center").css("display", "none");
  241. $("#jqGridPager_right div").text(function (i, origText) {
  242. return origText.replace('NaN - NaN', '')
  243. });
  244. },
  245. onSelectRow: function (rowid) {
  246. //点击表格中的某一行,触发事件,获得数据
  247. var rowData = $("#jqGrid").jqGrid('getRowData', rowid);
  248. rowData.bizCode = code;
  249. //通过编码找到该层上的坐标
  250. rowClickPoint(rowData);
  251. }
  252. });
  253. }
  254. /**
  255. * 隐藏业务图层
  256. */
  257. var hideLayer = function () {
  258. map.remove(graphicLayerClick);
  259. watfMap.allBizs.map(function (biz) {
  260. watfMap.hideLayer("layer_" + biz);
  261. });
  262. };
  263. /**
  264. * 显示业务图层
  265. * @param code
  266. */
  267. var showLayer = function (code) {
  268. watfMap.showLayer("layer_" + code);
  269. };
  270. //加载数据函数
  271. var loadData = function (_layer, _url, _param, symbol, callback, visiable) {
  272. $.ajax({
  273. url: _url,
  274. async: true,
  275. dataType: 'json',
  276. success: function (result) {
  277. //console.log('ajax' + _layer);
  278. if (result.status == 200) {
  279. callback(_layer, symbol, result.rows, visiable);
  280. }
  281. }
  282. });
  283. };
  284. var createGraphic = function (layer, symbol, datas, visiable) {
  285. var graphicLayer = new GraphicsLayer({
  286. id: layer
  287. });
  288. map.add(graphicLayer);
  289. console.log("graphicLayer: " + graphicLayer.id);
  290. watfMap.layer.push(graphicLayer);
  291. var len = datas.length;
  292. for (var i = 0; i < len; i++) {
  293. var data = datas[i];
  294. var lgtd = data.lgtd, lttd = data.lttd;
  295. if (lgtd != null && lttd != null) {
  296. var point = new Point(lgtd, lttd, new SpatialReference(4326));
  297. var graphic = new Graphic({
  298. geometry: point,
  299. attributes: data,
  300. symbol: symbol
  301. });
  302. graphicLayer.add(graphic);
  303. }
  304. }
  305. // if (visiable == false) {
  306. // watfMap.hideLayer(layer);
  307. // }
  308. };
  309. var graphicLayerClick = null;
  310. var rowClickPoint = function (row) {
  311. map.remove(graphicLayerClick);
  312. graphicLayerClick = new GraphicsLayer({
  313. id: 'sigleLayer'
  314. });
  315. map.add(graphicLayerClick);
  316. var lgtd = row.lgtd;
  317. var lttd = row.lttd;
  318. if (lgtd != null && lttd != null) {
  319. var point = new Point(lgtd, lttd, new SpatialReference(4326));
  320. var graphic = new Graphic({
  321. geometry: point,
  322. attributes: row,
  323. symbol: symbol_flick
  324. });
  325. graphicLayerClick.add(graphic);
  326. var Timer = setTimeout(function () {
  327. //移除地图
  328. map.remove(graphicLayerClick);
  329. }, 5000);
  330. }
  331. };
  332. /**
  333. * 定义图标区域
  334. * @type {{type: string, url: string, width: string, height: string}}
  335. */
  336. var symbol_flick = {
  337. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  338. url: ctx + "static/images/gis/dyCenter.gif",
  339. width: "64px",
  340. height: "64px"
  341. }
  342. var symbol_zb = {
  343. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  344. url: ctx + "static/images/gis/ls_swjc.png?r=2",
  345. width: "14px",
  346. height: "14px"
  347. };
  348. var symbol_river = {
  349. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  350. url: ctx + "static/images/gis/sjhl.png",
  351. width: "16px",
  352. height: "16px"
  353. };
  354. var symbol_basin = {
  355. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  356. url: ctx + "static/images/gis/sjhp.png",
  357. width: "16px",
  358. height: "16px"
  359. };
  360. var symbol_rh = {
  361. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  362. url: ctx + "static/images/gis/rhhd.png",
  363. width: "16px",
  364. height: "16px"
  365. };
  366. var symbol_sz_syd = {
  367. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  368. url: ctx + "static/images/gis/syd.png",
  369. width: "16px",
  370. height: "16px"
  371. };
  372. var symbol_sz_auto = {
  373. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  374. url: ctx + "static/images/gis/szzdz.png",
  375. width: "16px",
  376. height: "16px"
  377. };
  378. var symbol_sz_lz = {
  379. type: "picture-marker", // autocasts as new PictureMarkerSymbol()
  380. url: ctx + "static/images/gis/syd.png",
  381. width: "16px",
  382. height: "16px"
  383. };
  384. var symbol_basinxx = {
  385. type: "simple-marker", // autocasts as new SimpleMarkerSymbol()
  386. style: "circle",
  387. color: "red",
  388. size: "10px", // pixels
  389. outline: { // autocasts as new SimpleLineSymbol()
  390. color: [255, 255, 0],
  391. width: 0 // points
  392. }
  393. };
  394. var symbol_wiu1h2h = {
  395. type: "simple-marker", // autocasts as new SimpleMarkerSymbol()
  396. style: "diamond",
  397. color: "blue",
  398. size: "12px", // pixels
  399. outline: { // autocasts as new SimpleLineSymbol()
  400. color: [255, 255, 0],
  401. width: 0 // points
  402. }
  403. };
  404. var symbol_pin = {
  405. type: "picture-marker",
  406. url: ctx + "static/images/syq/dyCenter.gif",
  407. width: "30px",
  408. height: "30px"
  409. };
  410. $("#searchBtn").click(function () {
  411. var stnm = $("#stnm_search").val();
  412. showBizNewestTable(code, stnm);
  413. });
  414. $("#stnm_search").keyup(function () {
  415. if (event.keyCode == 13) {
  416. var stnm = $("#stnm_search").val();
  417. showBizNewestTable(code, stnm);
  418. }
  419. });
  420. /**
  421. * GIS 页面,点击业务按钮,切换
  422. */
  423. $("#xzqPanel1 ul li").click(function () {
  424. hideLayer();
  425. var name = $(this).attr('name');
  426. $(this).removeClass(name).addClass(name + "1");
  427. var sibs = $(this).removeClass(name).addClass(name + "1").siblings();
  428. for (var i = 0; i < sibs.length; i++) {
  429. var cname = $(sibs[i]).attr('name');
  430. $(sibs[i]).removeClass(cname + "1").addClass(cname);
  431. }
  432. code = $(this).attr("bizCode");
  433. showLayer(code);
  434. $("#jqGrid").jqGrid("clearGridData");
  435. view.popup.close();
  436. $("#stnm_search").val("");
  437. showBizNewestTable(code);
  438. });
  439. //加载太湖流域边界线
  440. loadTbaAreaPath();
  441. var lis = $('.bizs').find('li');
  442. for (var i = 0; i < lis.length; i++) {
  443. var bizCode = $(lis[i]).attr('bizCode');
  444. watfMap.allBizs.push(bizCode);
  445. var bizDefine = gxdata.getDataDefine(bizCode);
  446. if (bizDefine) {
  447. loadData('layer_' + bizCode, bizDefine.newestDataUrl, null, symbol_zb, createGraphic, i == 0);
  448. }
  449. }
  450. showBizNewestTable("TBA_SW_1H2H");
  451. });
  452. view.on("pointer-move", function (event) {
  453. var screenPoint = {
  454. x: event.x,
  455. y: event.y
  456. };
  457. var point = view.toMap(screenPoint);
  458. $("#textPointLgtd").text(point.longitude);
  459. $("#textPointLttd").text(point.latitude);
  460. view.hitTest(screenPoint).then(function (response) {
  461. // console.log(event.mapPoint.longitude, event.mapPoint.latitude);
  462. if (response.results[0].graphic) {
  463. var layerId = response.results[0].graphic.layer.id;
  464. var bizCode = layerId.replace('layer_', '');
  465. console.log('screenPoint ' + layerId, bizCode);
  466. var bizDefine = gxdata.getDataDefine(bizCode);
  467. if (!bizDefine) {
  468. return console.log('biz define not exist.', bizCode);
  469. }
  470. var pt = response.results[0].mapPoint;
  471. var attr = response.results[0].graphic.attributes;
  472. var content = '';
  473. if (bizDefine.layuiTable.length > 10) {
  474. $('.esri-popup__main-container').css("width", "550px");
  475. content =
  476. "<div style='border-top:1px solid #D5D5D5;font-size:12px;font-family:STSongti-SC-Regular;font-weight:400;color:rgba(97,97,97,1);'>" +
  477. "<table class='gis_table_pop'>" +
  478. "<tr> <td align='right'> 测站</td><td align='left' colspan='3'>&nbsp;<a style='color:rgba(31,159,255,1);' onclick='pointerClik(\"" + attr.stcd + "\",\"" + attr.stnm + "\",\"" + bizCode + "\")'>" + isblankNull(attr.stcd, "站码") + ' ' + isblankNull(attr.stnm, "站名") + "</a> </td> </tr>";
  479. var added = 0;
  480. for (var i = 0; i < bizDefine.layuiTable.length; i++) {
  481. var field = bizDefine.layuiTable[i].field;
  482. var title = bizDefine.layuiTable[i].title;
  483. if (field == 'id' || field == 'stcd' || field == 'stnm') {
  484. continue;
  485. }
  486. if (added % 2 == 0) {
  487. content += "<tr>";
  488. }
  489. if (title == '时间') {
  490. content += "<td align='right' style='width: 25%'> " + title + "</td><td align='left' style='width: 25%'>&nbsp;" + isblankNull(dateTran(attr[field]), title) + " </td>";
  491. } else {
  492. content += "<td align='right' style='width: 25%'> " + title + "</td><td align='left' style='width: 25%'>&nbsp;" + isblankNull(attr[field], title) + " </td>";
  493. }
  494. if (added % 2 != 0) {
  495. content += "</tr>";
  496. }
  497. added += 1;
  498. }
  499. } else {
  500. $('.esri-popup__main-container').css("width", "300px");
  501. content =
  502. "<div style='border-top:1px solid #D5D5D5;font-size:12px;font-family:STSongti-SC-Regular;font-weight:400;color:rgba(97,97,97,1);'>" +
  503. "<table class='gis_table_pop'>" +
  504. "<tr> <td align='right'> 测站</td><td align='left'>&nbsp;<a style='color:rgba(31,159,255,1);' onclick='pointerClik(\"" + attr.stcd + "\",\"" + attr.stnm + "\",\"" + bizCode + "\")'>" + isblankNull(attr.stcd, "站码") + ' ' + isblankNull(attr.stnm, "站名") + "</a> </td> </tr>";
  505. for (var i = 0; i < bizDefine.layuiTable.length; i++) {
  506. var field = bizDefine.layuiTable[i].field;
  507. var title = bizDefine.layuiTable[i].title;
  508. if (field == 'id' || field == 'stcd' || field == 'stnm') {
  509. continue;
  510. }
  511. if (title == '时间') {
  512. content += "<tr> <td align='right'> " + title + "</td><td align='left'>&nbsp;" + isblankNull(dateTran(attr[field]), title) + " </td> </tr>";
  513. } else {
  514. content += "<tr> <td align='right'> " + title + "</td><td align='left'>&nbsp;" + isblankNull(attr[field], title) + " </td> </tr>";
  515. }
  516. }
  517. }
  518. content +=
  519. "</table>" +
  520. "</div>" +
  521. "<div>" +
  522. "</div>";
  523. view.popup.open({
  524. title: "<span style='color:rgba(31,159,255,1);'>" + attr.stnm + "</span>",
  525. content: content,
  526. location: pt
  527. });
  528. return;
  529. if (layerId == "layer-gx-sj-river" || layerId == "layer-gx-sj-basin" || layerId == "layer-gx-sj-rh") {
  530. var bizCode = "";
  531. var pt = response.results[0].mapPoint;
  532. var attr = response.results[0].graphic.attributes;
  533. if (layerId == "layer-gx-sj-river") {
  534. bizCode = "TBA_SZY_SJ_RIVER"
  535. }
  536. if (layerId == "layer-gx-sj-basin") {
  537. bizCode = "TBA_SZY_SJ_BASIN";
  538. }
  539. if (layerId == "layer-gx-sj-rh") {
  540. bizCode = "TBA_SZY_RH";
  541. }
  542. if (layerId == "layer-gx-sz-lz") {
  543. bizCode = "TBA_SZY_LZJC";
  544. }
  545. //更改内容区域大小
  546. $('.esri-popup__main-container').css("width", "550px");
  547. view.popup.open({
  548. title: "<span style='color:rgba(31,159,255,1);'>" + attr.stnm + "</span>",
  549. content: "<div id='" + layerId + "' style='border-top:1px solid #D5D5D5;font-size:12px;font-family:STSongti-SC-Regular;font-weight:400;color:rgba(97,97,97,1);width: 100%;'>" +
  550. "<pre><table style='width: 100%;' class='gis_table_pop'>" +
  551. "<tr><td style='width:120px;'>站码:<span><a style='color:rgba(31,159,255,1);' onclick='pointerClik(\"" + attr.stcd + "\",\"" + attr.stnm + "\",\"" + bizCode + "\")'>" + isblankNull(attr.stcd, "站码") + "</a></span></td><td>PH:<span>" + isblankNull(attr.ph, "PH") + "</span></td><td>氰化物:<span>" + isblankNull(attr.cn, "氰化物") + "</span></td></tr>" +
  552. "<tr><td>日期:<span>" + isblankNull(attr.spt, "日期") + "</span></td><td>砷:<span>" + isblankNull(attr.ars, "砷") + "</span></td><td>氟化物:<span>" + isblankNull(attr.f, "氟化物") + "</span></td></tr>" +
  553. "<tr><td>水温:<span>" + isblankNull(attr.wt, "水温") + "</span></td><td>硒:<span>" + isblankNull(attr.se, "硒") + "</span></td><td>硫化物:<span>" + isblankNull(attr.s2, "硫化物") + "</span></td></tr>" +
  554. "<tr><td>氨氮:<span>" + isblankNull(attr.nh3n, "氨氮") + "</span></td><td>锌:<span>" + isblankNull(attr.zn, "锌") + "</span></td><td>石油类:<span>" + isblankNull(attr.oil, "石油类") + "</span></td></tr>" +
  555. "<tr><td>总磷:<span>" + isblankNull(attr.tp, "总磷") + "</span></td><td>镉:<span>" + isblankNull(attr.cd, "镉") + "</span></td><td>化学需氧量:<span>" + isblankNull(attr.codcr, "化学需氧量") + "</span></td></tr>" +
  556. "<tr><td colspan='3'>总氮:<span>" + isblankNull(attr.tn, "总磷") + "</span></td></tr>" +
  557. "<tr><td>六价铬:<span>" + isblankNull(attr.cr6, "六价铬") + "</span></td><td>铜:<span>" + isblankNull(attr.cu, "铜") + "</span></td><td>高锰酸盐指数:<span>" + isblankNull(attr.codmn, "高锰酸盐指数") + "</span></td></tr>" +
  558. "<tr><td>溶解氧:<span>" + isblankNull(attr.dox, "溶解氧") + "</span></td><td>汞:<span>" + isblankNull(attr.hg, "汞") + "</span></td><td>五日生化需氧量:<span>" + isblankNull(attr.bod5, "五日生化需氧量") + "</span></td></tr>" +
  559. "<tr><td>挥发酚:<span>" + isblankNull(attr.vlph, "挥发酚") + "</span></td><td>铅:<span>" + isblankNull(attr.pb, "铅") + "</span></td><td>阴离子表面活性剂:<span>" + isblankNull(attr.las, "阴离子表面活性剂") + "</span></td></tr>" +
  560. "</table></pre>" +
  561. "</div>" +
  562. "<div>" +
  563. "</div>",
  564. location: pt
  565. });
  566. }
  567. }
  568. });
  569. });
  570. });
  571. var symbol = {
  572. type: "simple-marker",
  573. style: "circle",
  574. color: "red",
  575. size: "10px",
  576. outline: {
  577. color: [255, 255, 0],
  578. width: 0
  579. }
  580. };
  581. function createGraphic(graphicLayer, datas) {
  582. if (map == null) return;
  583. var graphicLayer = new GraphicsLayer({
  584. id: 'layer_' + layer
  585. });
  586. map.add(graphicLayer);
  587. var len = datas.length;
  588. for (var i = 0; i < len; i++) {
  589. var data = datas[i];
  590. var lgtd = data.lgtd, lttd = data.lttd;
  591. var point = new Point(lgtd, lttd, new SpatialReference(4326));
  592. var graphic = new Graphic({
  593. geometry: point,
  594. attributes: data,
  595. symbol: symbol
  596. });
  597. graphicLayer.add(graphic);
  598. }
  599. }
  600. function isblankNull(data, name) {
  601. if (data == null || data == "") {
  602. return "";
  603. } else {
  604. if (name == "氰化物" || name == "氨氮" || name == "总磷" || name == "总氮" || name == "叶绿素a" || name == "六价铬" || name == "溶解氧" || name == "砷" || name == "硒" || name == "锌"
  605. || name == "镉" || name == "铜" || name == "汞" || name == "铅" || name == "氟化物" || name == "硫化物" || name == "石油类" || name == "化学需氧量" || name == "高锰酸盐指数" || name == "五日生化需氧量" || name == "阴离子表面活性剂" || name == "挥发酚") {
  606. return data + "&#9;mg/L ";
  607. } else if (name == "水温") {
  608. return data + " ℃ ";
  609. } else if (name == "电导率") {
  610. return data + "&#9;uS/cm ";
  611. } else if (name == "PH") {
  612. return data;
  613. } else if (name == "水位") {
  614. return data + "&#9;m ";
  615. } else if (name == "浊度") {
  616. return data + "&#9;度 ";
  617. } else if (name == "流量") {
  618. return data + "&#9;m³/s ";
  619. } else {
  620. return data;
  621. }
  622. }
  623. }
  624. function pointerClik(stcd, stnm, flag) {
  625. $('.sg-mask').css('display', 'none');
  626. $("#contentUrl").attr("src", ctx + "web/data-common-chart.html?bizCode=" + flag + "&stcd=" + stcd + "&stnm=" + encodeURI(stnm));
  627. $("#nameStcd").text(stnm);
  628. $('.sg-mask').css('display', 'block');
  629. }