我想添加和删除标记在我的传单Map。我发现这个很好的主题,但代码是在JS。
传单-如何找到现有的标记,并删除标记?
我的代码是这样的:
<template>
<l-map :zoom="zoom" :center="center">
<l-tile-layer :url="url" :attribution="attribution"></l-tile-layer>
<l-marker :lat-lng="marker" :draggable=true></l-marker>
</l-map>
</template>
<script>
data:function() {
return {
zoom:7,
center: L.latLng(33.901445, -5.532788),
url:'http://{s}.tile.osm.org/{z}/{x}/{y}.png',
attribution:'© <a href="http://osm.org/copyright">OpenStreetMap</a>
contributors',
marker: L.latLng(47.413220, -1.219482),
}},
</script>
也许我应该从创建一个像这样的click函数开始:
<l-map :zoom="zoom" :center="center" v-on:click="addMarker"></l-map>
然后我在方法中写了正确的addMarker函数。但是我找不到正确的文档。
我还想得到新标记在数据中的位置。
谢谢你
2条答案
按热度按时间2uluyalo1#
事实证明,这真的非常非常简单。使用一个带有
v-for
的数组而不是一个标记。单击标记会在该索引处拼接标记。单击map会创建一个带有latlng的新标记。下面的代码片段基于this fiddle。scyqe7ek2#
像这样在html标记上添加事件@click=“addMarker”是行不通的,因为事件是在html级别上触发的。
另一方面,您应该在html中添加另一个名为@ready=“mapReady”的事件