Vue3使用地图进行展示标记点,第二次进入标记点未正常显示问题

在公司介绍页面,使用地图展示公司地址,效果如图所示。一个蓝色的小标记图标会显示。但是第二次进入这个页面这个图标就没有展示了

在这里插入图片描述

原因:Vue 3 组件中,地图标记在第一次进入页面时正常显示,但在切换路由并返回时不显示,可能是由于地图实例的重新初始化或销毁问题,解决办法如下:

import { onMounted, onUnmounted, ref } from "vue";

export default {
  setup() {
    let map = ref(null);

    onMounted(() => {
      // 初始化地图
      map.value = new AMap.Map("mapContainer", {
        center: [x, y], // 设置中心点
        zoom: 18, // 设置缩放级别
      });

      // 添加标记
      const marker = new AMap.Marker({
        position: new AMap.LngLat(x, y),
        title: "标记点名称",
      });
      map.value.add(marker);
    });

    onUnmounted(() => {
      // 清理地图实例
      if (map.value) {
        map.value.destroy();
        map.value = null;
      }
    });

    return {
      map,
    };
  },
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值