Procházet zdrojové kódy

更新 覆盖物渲染逻辑

wzh před 4 roky
rodič
revize
36a8c669a2
1 změnil soubory, kde provedl 16 přidání a 7 odebrání
  1. 16 7
      src/views/voyage/voyageDetail.vue

+ 16 - 7
src/views/voyage/voyageDetail.vue

@@ -758,9 +758,17 @@ export default {
     }
     let mapId = ref(`map${route.query.id}`);
     function initMap() {
+      let c;
+      let longitude = 121.524761;
+      let latitude = 31.228721;
+      if (medias.value.length) {
+        c = Math.floor(medias.value.length / 2);
+        longitude = medias.value[c].longitude;
+        latitude = medias.value[c].latitude;
+      }
       map.value = new AMap.Map(mapId.value, {
         zoom: 16, //级别
-        center: [121.524761, 31.228721], //中心点坐标
+        center: [longitude, latitude], //中心点坐标
         mapStyle: "amap://styles/f48d96805f5fa7f5aada657c5ee37017",
       });
       let toolBar = new AMap.ToolBar({
@@ -793,12 +801,13 @@ export default {
       }
 
       let overlayGroups = new AMap.OverlayGroup(markers);
-      map.value.add(overlayGroups);
-
-      let t = setTimeout(() => {
-        map.value.setFitView();
-        clearTimeout(t);
-      }, 1000);
+      map.value.on("complete", function () {
+        let t = setTimeout(() => {
+          map.value.add(overlayGroups);
+          map.value.setFitView(markers, true, [200, 50, 0, 0], 18);
+          clearTimeout(t);
+        }, 2000);
+      });
     }
 
     let disabledStatus = ref(true);