Browse Source

首页大屏合作社偏移点问题

mac 2 years ago
parent
commit
429553c05e

+ 19
- 28
src/components/GeoMap/CarsMarker.js View File

@@ -2,6 +2,7 @@ import markerImg from '@/assets/images/screen/map-marker.png';
2 2
 import carsImg from '@/assets/images/screen/map-cars.png';
3 3
 import videoStartImg from '@/assets/images/screen/map-video-start.png';
4 4
 import videoStopImg from '@/assets/images/screen/map-video-stop.png';
5
+import { useRef } from 'react';
5 6
 
6 7
 export default function getCarsMarker(AMap, map, opts = {}) {
7 8
   const marker = new AMap.Marker({
@@ -11,43 +12,33 @@ export default function getCarsMarker(AMap, map, opts = {}) {
11 12
     ...opts,
12 13
   });
13 14
 
14
-  //
15
-  const { machineryId, name, orgName } = opts?.extData;
15
+  const { machineryId, name, orgName, thumb } = opts?.extData;
16 16
 
17 17
   marker.setLabel({
18 18
     direction: 'top',
19
-    offset: new AMap.Pixel(0, 0),
19
+    //偏移单位是px
20
+    offset: new AMap.Pixel(-88, -180),
20 21
     content: `
21 22
     <div class="SquareBox-box-carsMarker" onclick="openVideo('${machineryId}')">
22
-    <div class="border_corner-carsMarker border_corner_left_top-left" ></div>
23
-    <div class="border_corner-carsMarker border_corner_right_top-right" ></div>
24
-    <div class="border_corner-carsMarker border_corner_left_bottom-left" ></div>
25
-    <div class="border_corner-carsMarker border_corner_right_bottom-right" ></div>
26
-    <div class="SquareBox-body-carsMarker">
27
-    <div>
28
-    <div>
29
-    </div>
30
-    <div>
31
-      <div  class="map-top-border">
32
-        <img class="map-top-cars borderBox" src="${carsImg}" alt="" />
33
-        <img class="map-top-start borderBox" src="${videoStartImg}" alt="" />
34
-        <img class="map-top-stop borderBox" src="${videoStopImg}" alt="" />
35
-      </div>
36
-
37
-
38
-      <div  class="map-button-border">
39
-      
23
+      <div class="border_corner-carsMarker border_corner_left_top-left" ></div>
24
+      <div class="border_corner-carsMarker border_corner_right_top-right" ></div>
25
+      <div class="border_corner-carsMarker border_corner_left_bottom-left" ></div>
26
+      <div class="border_corner-carsMarker border_corner_right_bottom-right" ></div>
27
+      <div class="SquareBox-body-carsMarker">
28
+        <div  class="map-top-border">
29
+          <div style="width:100%;text-align:center">
30
+            <img  class="map-top-cars borderBox" src="${thumb}" alt="" />
31
+          </div>
32
+          <img class="map-top-start borderBox" src="${videoStartImg}" alt="" />
33
+          <img class="map-top-stop borderBox" src="${videoStopImg}" alt="" />
34
+        </div>
35
+        <div  class="map-button-border">      
40 36
         <div class="carsName">名称:${name}</div>
41 37
         <div class="map-button-border-carsRural carsName">
42 38
         <div >归属:${orgName}</div>
43 39
         <span> \>> </span>
44
-        </div>
45
-  
46
-      </div>
47
-
48
-
49
-    </div>
50
-  </div> `,
40
+      </div>   
41
+    </div> `,
51 42
   });
52 43
 
53 44
   return marker;

+ 2
- 2
src/components/GeoMap/marker.js View File

@@ -18,7 +18,7 @@ export function useMarker(amapRef, map, list) {
18 18
         });
19 19
       });
20 20
     }
21
-  }, [map, list]);
21
+  }, [map, list, amapRef]);
22 22
 
23 23
   return markerListRef;
24 24
 }
@@ -31,5 +31,5 @@ export function useMarkerVisible(map, markerListRef, typeId) {
31 31
       const item = marker.getExtData();
32 32
       marker.setMap(item.typeId === typeId ? map : null);
33 33
     });
34
-  }, [map, typeId]);
34
+  }, [map, markerListRef, typeId]);
35 35
 }

+ 1
- 1
src/pages/MonitoringScreen/components/List/index.jsx View File

@@ -15,7 +15,6 @@ export default (props) => {
15 15
   });
16 16
   const initAutoPlay = useCallback(
17 17
     (swiper) => {
18
-      console.log(swiper);
19 18
       if (!children?.length || children?.length <= 3) {
20 19
         swiper.autoplay.stop();
21 20
       } else {
@@ -45,6 +44,7 @@ export default (props) => {
45 44
           initAutoPlay(swiper);
46 45
         }}
47 46
         className={Styles['list-body']}
47
+        //因为loop只能在组件初始化时改变所以加一个不让它创建初始化的属性就可以了
48 48
         init={false}
49 49
         autoplay={{
50 50
           delay: 2500,