pointLayer.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. import * as KMap from '@/utils/ol-map/KMap';
  2. import Style from "ol/style/Style";
  3. import Icon from "ol/style/Icon";
  4. import { newPoint } from "@/utils/map.js";
  5. /**
  6. *
  7. */
  8. class pointLayer {
  9. constructor(kmap) {
  10. this.kmap = kmap
  11. // 位置图标
  12. this.pointLayer = new KMap.VectorLayer("pointLayer", 1000, {
  13. visible: false,
  14. style: () => {
  15. return new Style({
  16. image: new Icon({
  17. src: require("@/assets/images/warningHome/chat/fly-point.png"),
  18. scale: 0.6,
  19. }),
  20. });
  21. },
  22. });
  23. this.kmap.addLayer(this.pointLayer.layer);
  24. this.setMapPoint()
  25. }
  26. setMapPoint() {
  27. // 图标点位
  28. let point = [
  29. {
  30. id: 1,
  31. wkt: "POINT(110.937533572 21.9752048347)",
  32. url: "1",
  33. },
  34. {
  35. id: 2,
  36. wkt: "POINT(111.006303846 22.0427499)",
  37. url: "2",
  38. },
  39. {
  40. id: 3,
  41. wkt: "POINT(110.952463176 22.0266637782)",
  42. url: "3",
  43. },
  44. {
  45. id: 4,
  46. wkt: "POINT(110.964404259 21.954198378)",
  47. url: "4",
  48. },
  49. {
  50. id: 6,
  51. wkt: "POINT(110.870809782 22.0103192249)",
  52. url: "5",
  53. },
  54. {
  55. id: 8,
  56. wkt: "POINT(111.004240017 22.0377065354)",
  57. url: "6",
  58. },
  59. {
  60. id: 9,
  61. wkt: "POINT(110.907575135 21.9370288761)",
  62. url: "7",
  63. },
  64. {
  65. id: 10,
  66. wkt: "POINT(110.861455112 21.9521709844)",
  67. url: "8",
  68. },
  69. {
  70. id: 11,
  71. wkt: "POINT(110.941859265 21.9810418917)",
  72. url: "9",
  73. },
  74. {
  75. id: 12,
  76. wkt: "POINT(110.85275219 22.0177644506)",
  77. url: "10",
  78. },
  79. {
  80. id: 13,
  81. wkt: "POINT(110.937319394 22.0469353146)",
  82. url: "11",
  83. },
  84. {
  85. id: 15,
  86. wkt: "POINT(111.002916366 22.0546410706)",
  87. url: "12",
  88. },
  89. ]
  90. point.map((item) => {
  91. let point = newPoint(item, 'wkt');
  92. this.pointLayer.addFeature(point)
  93. })
  94. this.pointLayer.layer.setVisible(false);
  95. }
  96. showPoint() {
  97. this.pointLayer.layer.setVisible(true);
  98. let extent = this.pointLayer.layer.getExtent();
  99. if(extent && extent[0] != Infinity){
  100. console.log("show layer",extent)
  101. this.pointLayer.mapInstance.fit(extent,{padding:[100,100,100,100]})
  102. }
  103. }
  104. hidePoint() {
  105. this.pointLayer.layer.setVisible(false);
  106. }
  107. }
  108. export default pointLayer;