b42270add0d6e27089cf63e6c968b62a9f69e18e.svn-base 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. import axios from 'axios'
  2. let cancelRequest;
  3. var cancelToken = new axios.CancelToken(function executor(c) {
  4. cancelRequest = c
  5. console.log(c)
  6. // 这个参数 c 就是CancelToken构造函数里面自带的取消请求的函数,这里把该函数当参数用
  7. });
  8. var desWasuScal = '';
  9. var desWasuScalWidthZoom = [
  10. {
  11. zoom:0,
  12. desWasuScal:5000,
  13. },{
  14. zoom:1,
  15. desWasuScal:5000,
  16. },{
  17. zoom:2,
  18. desWasuScal:5000,
  19. },{
  20. zoom:3,
  21. desWasuScal:5000,
  22. },{
  23. zoom:4,
  24. desWasuScal:3000,
  25. },{
  26. zoom:5,
  27. desWasuScal:3000,
  28. },{
  29. zoom:6,
  30. desWasuScal:1000,
  31. },{
  32. zoom:7,
  33. desWasuScal:1000,
  34. },{
  35. zoom:8,
  36. desWasuScal:500,
  37. },{
  38. zoom:9,
  39. desWasuScal:'',
  40. },{
  41. zoom:10,
  42. desWasuScal:'',
  43. },{
  44. zoom:11,
  45. desWasuScal:'',
  46. },{
  47. zoom:12,
  48. desWasuScal:'',
  49. },{
  50. zoom:13,
  51. desWasuScal:'',
  52. },{
  53. zoom:14,
  54. desWasuScal:'',
  55. },{
  56. zoom:15,
  57. desWasuScal:'',
  58. },{
  59. zoom:16,
  60. desWasuScal:'',
  61. },{
  62. zoom:17,
  63. desWasuScal:'',
  64. },{
  65. zoom:18,
  66. desWasuScal:'',
  67. }
  68. ]
  69. import {_longLatTransform} from '../mercatorToLngLat'
  70. import {getShgcListForMap} from '../../../../api/zhxxAPI.js'
  71. import {removeLayerById} from '../removeLayerById.js'
  72. import { mapConfig } from '../../config/mapConfig.js';
  73. export function getNcysgcList(_self){
  74. var ol = _self.$ol;
  75. removeLayerById(_self,'ncysgcGraphicLayer');
  76. desWasuScalWidthZoom.forEach((item)=>{
  77. if(item.zoom == _self.mapObject.getView().getZoom()){
  78. desWasuScal = item.desWasuScal;
  79. }
  80. });
  81. var maxLgtd = _self.mapObject.getView().calculateExtent()[2];
  82. var maxLttd = _self.mapObject.getView().calculateExtent()[3];
  83. var minLgtd = _self.mapObject.getView().calculateExtent()[0];
  84. var minLttd = _self.mapObject.getView().calculateExtent()[1];
  85. var bottomLeft = _longLatTransform({
  86. x:minLgtd,
  87. y:minLttd
  88. })
  89. var topRight = _longLatTransform({
  90. x:maxLgtd,
  91. y:maxLttd
  92. })
  93. var maxLgtd1 = topRight.x;
  94. var maxLttd1 = topRight.y;
  95. var minLgtd1 = bottomLeft.x;
  96. var minLttd1 = bottomLeft.y;
  97. var iconFeature,vectorSource,vectorLayer;
  98. var features = [];
  99. cancelRequest;
  100. getShgcListForMap(_self.userId,'21',_self.currentAdCode,maxLgtd1,maxLttd1,minLgtd1,minLttd1,desWasuScal).then((res)=>{
  101. if(res.data){
  102. res.data.forEach((item)=>{
  103. if(item.cwsLong && item.cwsLat){
  104. // var pt = ol.proj.transform([item.cwsLong, item.cwsLat], "EPSG:4326", "EPSG:3857")
  105. var pt = _self.projTransform(new ol.geom.Point([Number(item.cwsLong), Number(item.cwsLat)]),mapConfig.wkid)
  106. iconFeature = new ol.Feature({
  107. geometry: pt,
  108. name: '农村饮水工程'
  109. });
  110. item['layerId'] = 'ncysgcGraphicLayer';
  111. iconFeature.setProperties(item);
  112. var symbol = new ol.style.Style({
  113. image: new ol.style.Icon({
  114. anchor: [0.5, 0.5],
  115. scale:0.4,
  116. src: '/src/views/zongHeXinXiNew/assets/ncysgc.png'
  117. }),
  118. text: new ol.style.Text({
  119. font: 'normal 14px 黑体',
  120. // // 对其方式
  121. textAlign: 'center',
  122. // 基准线
  123. textBaseline: 'middle',
  124. offsetY: -15,
  125. offsetX: 0,
  126. fill: new ol.style.Fill({
  127. color: 'white'
  128. }),
  129. stroke: new ol.style.Stroke({
  130. color: 'black',
  131. lineCap: 'butt',
  132. width: 4
  133. }),
  134. padding: [5, 5, 5, 5],
  135. text: item.cwsName
  136. })
  137. });
  138. iconFeature.setStyle(symbol);
  139. features.push(iconFeature)
  140. }
  141. });
  142. vectorSource = new ol.source.Vector({
  143. features: features
  144. });
  145. vectorLayer = new ol.layer.Vector({
  146. source: vectorSource,
  147. id:'ncysgcGraphicLayer',
  148. visible:true
  149. });
  150. _self.mapObject.addLayer(vectorLayer)
  151. }
  152. })
  153. }