bb13ed1e5ccc44b21dfeb9f8c8bb69814571f101.svn-base 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. import {getPersonListForMap} from '../../../api/zhxxAPI.js'
  2. import {removeLayerById} from './removeLayerById.js'
  3. import { mapConfig } from '../config/mapConfig.js';
  4. var _self;
  5. export function getPersonList(self){
  6. _self = self;
  7. var ol = _self.$ol;
  8. removeLayerById(_self,'personGraphicLayer0');
  9. removeLayerById(_self,'personGraphicLayer1');
  10. // var iconStyle_online = new ol.style.Style({
  11. // image: new ol.style.Icon(({
  12. // anchor: [0.5, 0.5],
  13. // scale:0.5,
  14. // src: '/src/views/zongHeXinXiOl/assets/online.png'
  15. // }))
  16. // });
  17. // var iconStyle_offline = new ol.style.Style({
  18. // image: new ol.style.Icon(({
  19. // anchor: [0.5, 0.5],
  20. // scale:0.5,
  21. // src: '/src/views/zongHeXinXiOl/assets/offline.png'
  22. // }))
  23. // });
  24. var symbol,iconFeature;
  25. var features1 = [];
  26. var features0 = [];
  27. var obj = {
  28. "persGuid":_self.userId,
  29. "adCode": _self.currentAdCode
  30. };
  31. getPersonListForMap(obj).then((res)=>{
  32. if(res.data){
  33. res.data.forEach((item)=>{
  34. if(item.lgtd && item.lttd){
  35. var pt = self.projTransform(new ol.geom.Point([Number(item.lgtd), Number(item.lttd)]),mapConfig.wkid)
  36. iconFeature = new ol.Feature({
  37. geometry: pt,
  38. name: '督查人员'
  39. });
  40. if(item.state == "1"){
  41. symbol = new ol.style.Style({
  42. image: new ol.style.Icon({
  43. anchor: [0.5, 0.5],
  44. scale:0.4,
  45. src: '/src/views/zongHeXinXiOl/assets/online.png'
  46. }),
  47. text: new ol.style.Text({
  48. font: 'normal 14px 黑体',
  49. // // 对其方式
  50. textAlign: 'center',
  51. // 基准线
  52. textBaseline: 'middle',
  53. offsetY: -20,
  54. offsetX: 0,
  55. fill: new ol.style.Fill({
  56. color: 'white'
  57. }),
  58. stroke: new ol.style.Stroke({
  59. color: 'black',
  60. lineCap: 'butt',
  61. width: 4
  62. }),
  63. padding: [5, 5, 5, 5],
  64. text: item.persName,
  65. })
  66. });
  67. item['layerId'] = 'personGraphicLayer1';
  68. iconFeature.setProperties(item);
  69. iconFeature.setStyle(symbol);
  70. features1.push(iconFeature)
  71. }else{
  72. symbol = new ol.style.Style({
  73. image: new ol.style.Icon({
  74. anchor: [0.5, 0.5],
  75. scale:0.4,
  76. src: '/src/views/zongHeXinXiOl/assets/offline.png'
  77. }),
  78. text: new ol.style.Text({
  79. font: 'normal 14px 黑体',
  80. // // 对其方式
  81. textAlign: 'center',
  82. // 基准线
  83. textBaseline: 'middle',
  84. offsetY: -20,
  85. offsetX: 0,
  86. fill: new ol.style.Fill({
  87. color: 'white'
  88. }),
  89. stroke: new ol.style.Stroke({
  90. color: 'black',
  91. lineCap: 'butt',
  92. width: 4
  93. }),
  94. padding: [5, 5, 5, 5],
  95. text: item.persName,
  96. })
  97. });
  98. item['layerId'] = 'personGraphicLayer0';
  99. iconFeature.setProperties(item);
  100. iconFeature.setStyle(symbol);
  101. features0.push(iconFeature)
  102. }
  103. }
  104. });
  105. var vectorSource0 = new ol.source.Vector({
  106. features: features0
  107. });
  108. var vectorLayer0 = new ol.layer.Vector({
  109. source: vectorSource0,
  110. id:'personGraphicLayer0'
  111. });
  112. var vectorSource1 = new ol.source.Vector({
  113. features: features1
  114. });
  115. var vectorLayer1 = new ol.layer.Vector({
  116. source: vectorSource1,
  117. id:'personGraphicLayer1'
  118. });
  119. _self.mapObject.addLayer(vectorLayer0)
  120. _self.mapObject.addLayer(vectorLayer1)
  121. }
  122. })
  123. }