Como inserir um novo texto de linha no pop-up

9

Estou usando o Leaflet Marker Cluster e preciso mostrar cinco linhas diferentes em um pop-up. Mas quando escrevo isso, eles estão todos na mesma linha. Alguém pode me ajudar a ser um debaixo do outro?

var a = addressPoints[i];
            var title = a[2];
            var univ = a[3];
            var direct = a[4];
            var city = a[5];
            var state = a[6];
            var marker = new L.Marker(new L.LatLng(a[0], a[1]), { title: title } );
            marker.bindPopup("Student: " + title + "University: " + univ + "Direction: " + direct + "City: " + city + "State: " + state);
            markers.addLayer(marker);
        }

    map.addLayer(markers);
contrafluxo
fonte

Respostas:

17

Como a documentação do Leaflet afirma, Marker#bindPopupusa uma string HTML como primeiro parâmetro.

Se você deseja que suas linhas apareçam em linhas diferentes, é necessário adicionar a marcação HTML adequada. No seu caso, uma lista de definições parece a mais relevante.

Conseqüentemente:

var list = "<dl><dt>Student</dt>"
           + "<dd>" + title + "</dd>"
           + "<dt>University</dt>"
           + "<dd>" + univ + "</dd>"
           + 

marker.bindPopup(list);
MattiSG
fonte