在标记底部打开传单弹出窗口

WeS*_*eSt 6 javascript leaflet mapbox

我在我的地图上放置了几个标记并向它们添加了弹出窗口。以下代码在循环中执行并且工作正常:

L.marker([
    item.Lat,
    item.Long
]).bindPopup(item.count + ' projects').addTo(map);
Run Code Online (Sandbox Code Playgroud)

单击标记时会显示标记并打开弹出窗口。但是,弹出窗口始终在标记的顶部打开。有没有办法在标记的底部(或任何一侧)打开?Leaflet 文档中的弹出选项似乎没有提供这样做的选项。

sab*_*bas 4

您必须为标记提供自定义图标。您可以使用相同的图像,但必须调整 popupAnchor 属性才能做到这一点。请参阅参考http://leafletjs.com/reference.html#iconhttp://leafletjs.com/examples/custom-icons.html

在你的情况下,你必须这样做(考虑到默认图标是 25 x 41 px,iconAnchor 可能是 12 x 40)

var yourIcon = L.icon({ popupAnchor: [0,0] });
var marker= L.marker([item.Lat, item.Long],{icon: yourIcon})
Run Code Online (Sandbox Code Playgroud)

并且弹出窗口将在图标锚定位置的同一位置打开。