vue百度地图加载报错:Cannot read properties of undefined (reading 'centerAndZoom')

     因为项目中需要用到地图定位功能,然后我就参考vue-baidu-map的文档,做了一个可以通过点击地图获取地点名称和位置坐标然后存到数据库,当用户编辑位置信息时可以通过存储在数据库中的坐标在地图上定位到对应的地理位置。但是当我将功能做完后发现首次加载时会有报错信息,但是功能又是正常的,之后进行操作也不会有报错

    不多废话,先说解决办法

mounted()获取数据库存储的坐标数据,改为created()时请求坐标数据,以下为详细描述:

报错信息信息比较多,下面就放图:

 代码部分

我这里是在其他页面获取了数据库里的坐标数据存储到vuex里面,然后从vuex中取值,这里也可以改成用axios发送请求来获取存储在数据库的坐标数据。form.csr_address值为“存储的地址”,form.lng和form.lat是经纬度。

 

 

 

 

 

 

 

最后我发现,因为是在挂载时获取数据,但是百度地图渲染好像在挂载之前,所以当它调取坐标数据时还没有从vuex里获取到数据就会导致报错,那么将mounted()改为created()即可解决问题。

 

 

 

posted @ 2022-01-04 19:11  web_pzj  阅读(4624)  评论(2)    收藏  举报