Ionic使用模态框重复打开高德地图报错

在Ionic6(ionic-vue)项目中,使用高德地图并用模态框显示时,遇到一个问题:当模态框关闭后再打开,会出现'Uncaught Error: Invalid Object: LngLat(NaN, NaN)'的错误。虽然具体原因未知,但可能是由于ion-modal的销毁机制导致。为解决这个问题,作者采用了自定义模态框并通过teleport挂载到body的方式,绕过错误。CustomAmap组件用于集成高德地图,其详细配置可参考官方文档。" 111751328,10296441,Vue公共JS封装:元素距离与滚动控制,"['前端开发', 'Vue', 'JavaScript', 'DOM操作', '封装']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

Ionic6(ionic-vue)中使用高德地图,模态框中重复打开报错


问题描述

Ionic使用模态框重复打开高德地图报错Uncaught Error: Invalid Object: LngLat(NaN, NaN)

初次使用ioc-modal加载没有问题,关闭后再次打开就会出现以下错误Uncaught Error: Invalid Object: LngLat(NaN, NaN)
请添加图片描述

Uncaught Error: Invalid Object: LngLat(NaN, NaN)
    at new pD (maps?callback=
...

原因分析:

具体原因我没分析出来,如果有哪位大神知道请指出,我估计是ion-modal组件销毁机制造成的,反正我没找到具体原因,求大神解惑


解决方案:

自定义模态框,并通过teleport挂载到body

<teleport to="body">
      <div
        v-if="isOpAddModal"
        style="
          width: 100%;
          height: 100%;
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值