关于vue使用baidu-map根据经纬度定位还是存在偏移的问题

首先总结一下我出现偏移的原因我认为是,在地图的相关属性(比如说center,zoom等等)还未来得及赋值时,地图组件就已经开始初始化了,尽管我给了这些属性初始值,还是会有这个问题,我只能理解为地图加载的速度比我初始值加载的速度还要快些

思路:如果你的情况和我下面的不一样,那我就说下思路。通过v-if来控制地图组件的出现,尽可能让地图组件在它的相关属性都加载完成之后再出现。比如说你的center是通过请求接口数据来赋值的,那你就在请求接口数据给center赋值之后,再让v-if里的值为true,这样应该就没问题了。如果理解到了就可以不用看下面的代码了

先上我之前的代码

 我的地图代码是在一个表单里的,这个表单被封装成了一个组件,在需要的时候才会调用,如果你是我和一样的情况,那就在控件里加一个v-if

 这个zhanshi变量的默认值为false,然后当我调用这个组件时,如下图

在子组件通过props属性接收这个值

 然后通过watch监控,当这个属性值发生变化时,证明我在调用这个组件了,这个时候才让zhanshi = true,这时候你和地图相关的属性早就已经加载完了(比如center,zoom等等),这时候再显示地图就不会存在偏移了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值