Boat.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /**
  2. * 船舶地图组件功能,通过调用封装好的基础地图组件实现特定业务功能
  3. */
  4. import { fullExtent, clearMap, calculation, changeMap, setCamera,
  5. layerControl, layerQuery, addGraphic, draw, getDrawGeometry,
  6. addBoats, addBoatHistory
  7. } from '@/utils/map/ArcgisUtil'
  8. import {GetHpjShip} from "@/apis/ship";
  9. let boatInterval;
  10. let showBoat = false;
  11. // 船舶撒点
  12. export function setShip(){
  13. if(!showBoat)
  14. showBoat = true
  15. onLocationBoat()
  16. if(boatInterval!=null){
  17. clearInterval(boatInterval)
  18. }
  19. boatInterval = setInterval(onLocationBoat,10000)
  20. }
  21. // 加载船舶
  22. export function onLocationBoat(){
  23. GetHpjShip().then(res=>{
  24. let data = res.Result.data
  25. let boats = {
  26. "scale": 5000,
  27. "goto": false,
  28. "data": []
  29. }
  30. for(let i=0;i<data.length;i++){
  31. let boat = {
  32. "mmsi": data[i].DEVICEID,
  33. "shipNameCn": data[i].BOATNAME,
  34. "shipTypeName": data[i].SHIPTYPENAME,
  35. "direction": data[i].DIRECTION,
  36. "velocity": data[i].VELOCITY,
  37. "shipBreadth": data[i].SHIPBREADTH,
  38. "shipLength": data[i].SHIPLENGTH,
  39. "mapx": data[i].MAPX,
  40. "mapy": data[i].MAPY
  41. }
  42. boats.data.push(boat)
  43. }
  44. addBoats(boats)
  45. })
  46. }
  47. // 设置船舶历史轨迹
  48. export function setShipPath(){
  49. }