74db8a631c54a64b0e98d703aeef4f66019c6704.svn-base 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. const options = {
  2. url: "/arcgisApi/4.7/init.js"
  3. };
  4. import _default,* as esriLoader from "esri-loader";
  5. import {getPersonListForMap} from '../../../api/zhxxAPI.js'
  6. export function getPersonList(mapObject){
  7. esriLoader.loadModules(["esri/Graphic","esri/layers/GraphicsLayer","esri/geometry/Point","esri/geometry/SpatialReference",
  8. "dojo/domReady!"],options).then( (
  9. [Graphic,GraphicsLayer,Point,SpatialReference]) => {
  10. var personGraphicLayer;
  11. personGraphicLayer = mapObject.findLayerById("personGraphicLayer");
  12. if(personGraphicLayer){
  13. personGraphicLayer.removeAll();
  14. }else{
  15. personGraphicLayer = new GraphicsLayer({//人员 点
  16. id:"personGraphicLayer",
  17. visible:true
  18. });
  19. mapObject.add(personGraphicLayer);//人员 点
  20. }
  21. var symbol_online = {
  22. type: "picture-marker",
  23. url: "/src/views/zongHeXinXiNew/assets/online.png",
  24. width: "18px",
  25. height: "21px"
  26. };
  27. var symbol_offline = {
  28. type: "picture-marker",
  29. url: "/src/views/zongHeXinXiNew/assets/offline.png",
  30. width: "18px",
  31. height: "21px"
  32. };
  33. var gra,pt,symbol;
  34. var onlineArr = [];
  35. getPersonListForMap().then((res)=>{
  36. if(res.data){
  37. res.data.forEach((item)=>{
  38. if(item.lttd && item.lgtd){
  39. pt = new Point(item.lgtd,item.lttd,new SpatialReference(4326));
  40. if(item.state == "1"){
  41. symbol = symbol_online
  42. onlineArr.push(item);
  43. return;
  44. }else{
  45. symbol = symbol_offline
  46. }
  47. gra = new Graphic({
  48. geometry:pt,
  49. symbol:symbol,
  50. attributes:item
  51. })
  52. personGraphicLayer.add(gra);
  53. }
  54. });
  55. onlineArr.forEach((val)=>{
  56. if(val.lttd && val.lgtd){
  57. pt = new Point(val.lgtd,val.lttd,new SpatialReference(4326));
  58. symbol = symbol_online
  59. gra = new Graphic({
  60. geometry:pt,
  61. symbol:symbol,
  62. attributes:val
  63. })
  64. personGraphicLayer.add(gra);
  65. }
  66. })
  67. console.log('在线人数'+onlineArr.length);
  68. }
  69. })
  70. }).catch(err => {
  71. console.error(err);
  72. });
  73. }