收藏
回答

map组件自定义气泡点击多个标记,在Android上一个气泡不隐藏,要如何做到只显示一个气泡?

使用map组件自定义气泡,在iOS上,点击第一个marker会显示相应的气泡,点击第二个marker时第一个气泡会隐藏显示第二个气泡,而在安卓上点击几个marker就显示几个气泡。

<map id="parkMapstyle="width:100%; height:{{mapHeight}};latitude="{{latitude}}longitude="{{longitude}}markers="{{markers}}enable-satellite="trueenable-3D = "trueskew='15bindmarkertap = "clickMarkertshow-location >

  <cover-view slot="callout">

        <block wx:for="{{customCalloutMarkerIds}}wx:key="*this">

          <cover-view  marker-id="{{item}}" >

          <cover-view class="map-callout">

            <cover-image width="300height="150src="{{MarkersItem.ImgPath}}" />

             <cover-view class="map-callout-view">

             {{index}}-{{item}}

             </cover-view> 

          </cover-view>

          </cover-view>

        </block>

      </cover-view>

</map>

回答关注问题邀请回答
收藏

1 个回答

  • 欧阳
    欧阳
    2022-04-06

    我这边解决了。方案:根据点击时@markertap回调传递过来的id,进行遍历当前markers数组。当前显示的marker修改他的显示模式为ALWAYS,其他则为BYCLICK。


    示例代码:

    updateMarker(markerId) {

    for (let i = 0; i < this.markers.length; i++) {

    if (this.markers[i].id != markerId) {

    this.markers[i].callout.display = 'BYCLICK'

    } else {

    this.markers[i].callout.display = 'ALWAYS'

    }

    }

    }


    2022-04-06
    有用
    回复 1
    • 诗和远方
      诗和远方
      2023-05-26
      点击其他地方非marker的地方,怎么关闭当前显示方式为ALWAYS的marker
      2023-05-26
      回复
登录 后发表内容