将新行添加到 JSON 作为我的标记(传单)

Put new lines to JSON for my markers (Leaflet)

我正在我的地图上放置标记,当您单击地图上的标记时,我希望我的标记有这样的东西。

FirstLine
SecondLine

我目前有一个markers.json

markers = [
{
    "name": "FirstLine \n SecondLine",
    "lat": 30.1234,
    "lng": -97.2345
    }
];

但是这对我不起作用,我仍然得到一条很长的线,而不是从另一条线开始的 SecondLine。

我正在使用 Leaflet,我有一个 markers.json,里面有我的所有数据。

编辑:我有一个使用弹出窗口生成标记的 js 文件。

for ( var i=0; i < markers.length; ++i ) 
{
   L.marker( [markers[i].lat, markers[i].lng] )
  .bindPopup( '<a target="_blank">' + markers[i].name + '</a>' )
  .addTo( map );
}

了解如何操作。我意识到当我生成我的标记时,你只是在 js 文件中添加 < br > 。

Leaflet 的弹出窗口确实接受 HTML <br> 换行符,因此如果您在将字符串添加到弹出窗口之前首先转换字符串,您应该没问题:

for ( var i=0; i < markers.length; ++i ) {
    var newName = markers[i].name.replace(/(?:\r\n|\r|\n)/g, '<br />');
    L.marker( [markers[i].lat, markers[i].lng] )
        .bindPopup( '<a target="_blank">' + newName + '</a>' )
        .addTo( map );
}

这是一个关于 Plunker 的工作示例:http://plnkr.co/edit/Qk7aUn?p=preview