项目:taro3 +vue3
场景:点击列表,显示弹窗,弹窗中有一个map, map得中心位置显示列表的经纬度marker
bug:在切换列表的时候,maker不会改变
map组件
<map
:id="mapId"
style="width: 100%; height: 100%;"
:latitude="centerLat"
:longitude="centerLong"
:markers="maskerList"
:include-points="maskerList"
:show-location="true"
:scale="14"
/>
弹窗引入
<base-map
:map-id="`parking-detail-map"
:latitude="xxx"
:longitude="xxx"
:markers="[{xxxx}]"
/>
排除掉各种情况后,发现是mapid的原因,mapid不能一样…泪崩
注意
include-points是数组,不是布尔,不小心写成了true, 微信开发工具和真机及支付宝开发工具都能显示出来,支付宝真机不显示
--------------------------------------------------------------------分割线---------------------------------------------------------------------------------------------
bug2: 偶现有得列表弹窗中得marker会一闪而过,然后中心点定在一个莫名其妙得地方
**分析:**缩小地图,发现marker是有得,那就是中心点没有和marker一致,而组件参数latitude和longitude默认值为0,在获取到正确值之前,会出现0得情况,获取到值后又没有再次渲染
解决方法:
map上加上 v-if=“latitude”