leafletjs标记带有选项​​的bindpopup()

nex*_*s_6 15 popup marker leaflet

小册子文档显示您可以向标记添加弹出窗口

marker.bindPopup("<b>Hello world!</b><br>I am a popup.").openPopup();
Run Code Online (Sandbox Code Playgroud)

或创建一个独立的弹出窗口

var popup = L.popup()
    .setLatLng([51.5, -0.09])
    .setContent("I am a standalone popup.")
    .openOn(map);
Run Code Online (Sandbox Code Playgroud)

有没有办法设置弹出选项并将其绑定到标记?我希望能够为弹出窗口设置自己的最大宽度,并在单击标记时打开/关闭它们.

tmc*_*mcw 10

您确定要阅读Leaflet参考文档吗?它指定您可以通过创建弹出窗口并使用它来调用.bindPopup来绑定弹出窗口.例如,

var popup = L.popup()
    .setContent("I am a standalone popup.");

marker.bindPopup(popup).openPopup();
Run Code Online (Sandbox Code Playgroud)

  • 好吧,这个单行是可能的:`var mark1 = L.marker([51.5,-0.09]).bindPopup(L.popup({maxWidth:500}).setContent("我是一个独立的弹出窗口.")) .addTo(地图);` (4认同)
  • 要为弹出窗口设置固定宽度,请添加到样式中:`.leaflet-popup-content {width:500px; }` (2认同)

Mar*_*tic 5

对于maxWidth,您应该这样做:

var popup = L.popup({
    maxWidth:400
});
marker.bindPopup(popup).openPopup();
Run Code Online (Sandbox Code Playgroud)


Ric*_*ide 5

您可以将弹出选项对象作为 bindPopup 的第二个参数传递,如下所示:

marker.bindPopup("<strong>Hello world!</strong><br />I am a popup.", {maxWidth: 500});
Run Code Online (Sandbox Code Playgroud)

我已经在 Leaflet 1.4 中测试过这个,它似乎也可以在早期版本的bindPopup 中使用