首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue2Leaflet :如何显示特定标记的工具提示

Vue2Leaflet :如何显示特定标记的工具提示
EN

Stack Overflow用户
提问于 2019-03-03 07:49:25
回答 1查看 4K关注 0票数 1

我正在使用nuxt-传单(与Vue2Leaflet),我想知道如何在我的模板vue文件中的一个按钮(“显示工具提示”)上显示特定标记的工具提示?

代码语言:javascript
复制
<template>
  <div>
    <button @click="displayTooltipOfMarker(x)">Display tooltip</button>
    <div id="map-wrap" style="height: 500px; width:100%">
      <no-ssr>
        <l-map :zoom="10" :center="positionInitiale">
          <l-tile-layer url="http://{s}.tile.osm.org/{z}/{x}/{y}.png"></l-tile-layer>
          <l-marker :icon="customIcon" :lat-lng="positionMarqueurHome"></l-marker>

          <l-marker
            v-for="marker in marqueurs"
            :key="marker.id"
            :lat-lng.sync="marker.position"
            @click="alert(marker)"
          >
            <l-popup :content="marker.tooltip"/>
            <l-tooltip :content="marker.tooltip"/>
          </l-marker>
        </l-map>
      </no-ssr>
    </div>
  </div>
</template> 

有可能吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-05 09:35:40

要在外部事件上打开/关闭Tooltip (如按钮是您的情况),可以考虑使用折叠解决方案:

通过$refs属性访问传单标记对象:

代码语言:javascript
复制
  <l-marker
    v-for="(marker, index) in markers"
    :key="index"
    ref="markersRef"
    :lat-lng="marker.position"
  >
         <l-popup :content="marker.name"/>
  </l-marker>

并将其保存到数组中:

代码语言:javascript
复制
mounted: function() {
    this.$nextTick(() => {
      this.markerObjects = this.$refs.markersRef.map(ref => ref.mapObject);
    });
 }

一旦触发外部事件(例如,按钮单击),工具提示将显示如下:

代码语言:javascript
复制
<button @click="displayTooltip(1)">Display</button>

displayTooltip(selectedIndex) {
  this.markerObjects[selectedIndex].openTooltip();
}

这是一个演示供您参考

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54966684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档