对于我的应用程序,我使用的是 Leaflet,而且我已经走了很远,所以我确信我理解完成工作的“传单方式”。
因为我的所有标记都只有一个静态布局,所以我创建了一个简单的 Mustache 模板,它插入可变数据并给我我的 HTML:
can.view("leads/popup", viewOptions)
这可以按预期工作并生成一个 HTML 字符串,该字符串可以正确显示。
但是当我关闭并重新打开弹出窗口时,它会导致一个空的弹出内容。
var popup = L.popup({maxWidth: 1000, closeOnClick: true}, marker);
popup.setContent(can.view("leads/popup", viewOptions));
var marker = L.marker(L.latLng(lng, lat),
{icon: L.divIcon({
className: 'lead-icon lead_'+lead._id.$oid,
iconSize: [size, size],
html: '<span class="marker-label">' + label + '</span>'
})
});
marker.bindPopup(popup);
self.displayMarker(marker);
我的想法是扩展 L.Popup 类并将 _content 设置为我的 HTML 代码。但我不确定它是否有点过于强大。
非常感谢你的帮助,
斯蒂芬