支付宝小程序之坑 -- 弹窗中map组件的marker不显示

项目: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”

你可能感兴趣的:(小程序,#,Taro3,map,支付宝小程序)