Следующий код html создает для них несколько маркеров и всплывающих окон. ...
- просто замена длинных вещей, которые я пропустил, поскольку они не имеют значения в решении моей проблемы. Поскольку существует 100 с этих маркеров, создание всех всплывающих окон в одном go приводит к очень длительному времени загрузки в Интернете.
Есть ли способ каким-либо образом добавить всплывающие окна к маркерам только при нажатии на маркер на? Код ниже уже сгенерирован, поэтому я не могу перестроить его с нуля, используя новый лог c.
var m1 = L.marker(...).addTo(map);
var p1 = L.popup(...);
var v1 = $('<div id="v1"></div>')[0];
p1.setContent(v1);
m1.bindPopup(p1);
vegaEmbed(v1, ...)
var m2 = L.marker(...).addTo(map);
var p2 = L.popup(...);
var v2 = $('<div id="v2"></div>')[0];
p2.setContent(v2);
m2.bindPopup(p2);
vegaEmbed(v2, ...)
var m3 = L.marker(...).addTo(map);
var p3 = L.popup(...);
var v3 = $('<div id="v3"></div>')[0];
p3.setContent(v3);
m3.bindPopup(p3);
vegaEmbed(v3, ...)
.
.
.
and so on
Попытка предложенного решения Falke Design:
Пока у меня есть следующий Python код:
m = folium.Map(...)
fg = folium.FeatureGroup()
for i in range(0,400):
p = folium.Popup().add_child(folium.VegaLite(...))
folium.Marker(...popup = p).add_to(fg)
fg.add_to(m)
m.save('templates/index.html')
, который генерирует следующее html:
var fg = L.featureGroup({}).addTo(m);
var m1 = L.marker(...).addTo(fg);
var p1 = L.popup(...);
var v1 = $('<div id="v1"></div>')[0];
p1.setContent(v1);
m1.bindPopup(p1);
vegaEmbed(v1, ...)
.
.
.
and so on up to 400