b169920a542bd7b63ce7ba101e0f414ff1f97f8d.svn-base 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. const options = {
  2. url: "/arcgisApi/4.7/init.js"
  3. };
  4. import axios from 'axios'
  5. import {_getLngLat} from './mercatorToLngLat'
  6. let cancelRequest;
  7. var cancelToken = new axios.CancelToken(function executor(c) {
  8. cancelRequest = c
  9. console.log(c)
  10. // 这个参数 c 就是CancelToken构造函数里面自带的取消请求的函数,这里把该函数当参数用
  11. });
  12. var frgrd = '';//报汛等级
  13. var wintFlowWidthZoom = [
  14. {
  15. zoom:0,
  16. frgrd:'1',
  17. },{
  18. zoom:1,
  19. frgrd:'1',
  20. },{
  21. zoom:2,
  22. frgrd:'1',
  23. },{
  24. zoom:3,
  25. frgrd:'1',
  26. },{
  27. zoom:4,
  28. frgrd:'1',
  29. },{
  30. zoom:5,
  31. frgrd:'1',
  32. },{
  33. zoom:6,
  34. frgrd:'1',
  35. },{
  36. zoom:7,
  37. frgrd:'1',
  38. },{
  39. zoom:8,
  40. frgrd:'1,2',
  41. },{
  42. zoom:9,
  43. frgrd:'1,2,3,4',
  44. },{
  45. zoom:10,
  46. frgrd:'1,2,3,4,5,6',
  47. },{
  48. zoom:11,
  49. frgrd:'',
  50. },{
  51. zoom:12,
  52. frgrd:'',
  53. },{
  54. zoom:13,
  55. frgrd:'',
  56. },{
  57. zoom:14,
  58. frgrd:'',
  59. },{
  60. zoom:15,
  61. frgrd:'',
  62. },{
  63. zoom:16,
  64. frgrd:'',
  65. },{
  66. zoom:17,
  67. frgrd:'',
  68. },{
  69. zoom:18,
  70. frgrd:'',
  71. }
  72. ]
  73. import _default,* as esriLoader from "esri-loader";
  74. import {getSwenz} from '../../../api/zhxxAPI.js'
  75. export function getSwenzList(_self){
  76. esriLoader.loadModules(["esri/Graphic","esri/geometry/Point","esri/geometry/SpatialReference",
  77. "dojo/domReady!"],options).then( (
  78. [Graphic,Point,SpatialReference]) => {
  79. var graphicLayerSwz = _self.mapObject.findLayerById("graphicLayerSwz");
  80. graphicLayerSwz.removeAll();
  81. wintFlowWidthZoom.forEach((item)=>{
  82. if(item.zoom == _self.viewObject.zoom){
  83. frgrd = item.frgrd;
  84. }
  85. });
  86. // var symbol = {
  87. // type: "picture-marker",
  88. // url: "/src/views/zongHeXinXiNew/assets/swenz.png",
  89. // width: "18px",
  90. // height: "22px"
  91. // };
  92. let dictSymbols = {
  93. 'symbol_RR' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/RR.png",width: "12px",height: "12px"},
  94. 'symbol_BB' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/BB.png",width: "12px",height: "12px"},
  95. 'symbol_DD' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/DD.png",width: "12px",height: "12px"},
  96. 'symbol_DP' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/DP.png",width: "12px",height: "12px"},
  97. 'symbol_MM' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/MM.png",width: "12px",height: "12px"},
  98. 'symbol_PP' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/PP.png",width: "12px",height: "12px"},
  99. 'symbol_SS' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/SS.png",width: "12px",height: "12px"},
  100. 'symbol_TT' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/TT.png",width: "12px",height: "12px"},
  101. 'symbol_ZB' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/ZB.png",width: "13px",height: "7px"},
  102. 'symbol_ZQ' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/ZQ.png",width: "12px",height: "12px"},
  103. 'symbol_ZZ' : {type: "picture-marker",url: "/src/views/zongHeXinXiNew/assets/station/ZZ.png",width: "12px",height: "12px"},
  104. }
  105. var maxLgtd = _self.viewObject.extent.xmax;
  106. var maxLttd = _self.viewObject.extent.ymax;
  107. var minLgtd = _self.viewObject.extent.xmin;
  108. var minLttd = _self.viewObject.extent.ymin;
  109. var bottomLeft = _getLngLat({
  110. x:minLgtd,
  111. y:minLttd
  112. })
  113. var topRight = _getLngLat({
  114. x:maxLgtd,
  115. y:maxLttd
  116. })
  117. var maxLgtd1 = topRight.lng;
  118. var maxLttd1 = topRight.lat;
  119. var minLgtd1 = bottomLeft.lng;
  120. var minLttd1 = bottomLeft.lat;
  121. var gra,pt,symbol;
  122. cancelRequest;
  123. getSwenz(_self.currentAdCode,maxLgtd1,maxLttd1,minLgtd1,minLttd1,frgrd).then((res)=>{
  124. if(res.data){
  125. res.data.forEach((item)=>{
  126. if(item.lgtd && item.lttd && item.sttp=="ZQ"){
  127. pt = new Point(item.lgtd,item.lttd,new SpatialReference(4326));
  128. symbol = dictSymbols['symbol_'+item.sttp];
  129. if(item.stazt){
  130. symbol.angle = item.stazt;
  131. }
  132. if(symbol){
  133. gra = new Graphic({
  134. geometry:pt,
  135. symbol:symbol,
  136. attributes:item
  137. })
  138. graphicLayerSwz.add(gra);
  139. }
  140. }
  141. });
  142. }
  143. })
  144. }).catch(err => {
  145. console.error(err);
  146. });
  147. }