XU-687 2024-08-08 14:36 采纳率: 0%
浏览 11
已结题

(reading 'insertBefore')

使用"vue3-baidu-map-gl": "^2.3.5"的BMarker报错
chunk-VDFR5PMD.js?v=87a8352f:9625 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'insertBefore')
但是在3.2版本没有问题,但是我重新建项目就没事不知道是项目里面那个感染到了他。
可以初步确定的是和包没有关系,也有联系作者确认没有问题,node包也删了重新下载了。

  • 写回答

1条回答 默认 最新

  • 一直免费一直爽 2024-08-11 22:25
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    这个问题可能是因为Vue 3.2版本的BMap插件中对map.addLayer()方法有新的限制,导致在使用map.insertLayerAt(index, layer)时抛出错误。要解决此问题,您可以通过检查并更新插件到最新的版本或者尝试使用其他替代方案如第三方插件(例如bmap-geocoder)来实现相同的功能。以下是具体的步骤:

    1. 检查Vue版本:确保您的Vue应用使用的是Vue 3.x或更高版本。
    2. 更新插件至最新版本:访问Baidu Map GL的GitHub页面,找到相关的插件文件,并通过npm安装最新的版本。通常情况下,您可以运行以下命令进行安装:
    npm install vue3-baidu-map-gl --save
    
    1. 在您的组件中替换旧的map.insertLayerAt(index, layer)调用为map.addLayer(layer)。这样应该能解决问题。
    2. 如果以上步骤都不能解决问题,那么可能是由于浏览器兼容性的问题。在这种情况下,您可以考虑使用一些兼容性更好的地图插件,比如bmap-geocoder

    为了更好地理解这个过程,建议查看官方文档和示例代码,以了解如何正确地使用Baidu Map GL插件。此外,您还可以参考其他开发者的经验分享,看看是否有其他人遇到过类似问题并且找到了解决方案。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月26日
  • 创建了问题 8月8日