私のアプリでは Leaflet を使用していますが、かなり使いこなしたので、物事を成し遂げる「リーフレットの方法」を理解したと確信しています。
すべてのマーカーに対して 1 つの静的レイアウトがあるため、変数データを挿入して HTML を提供する単純な Mustache テンプレートを作成しました。
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 クラスを拡張し、HTML コードに固定された _content を設定することでした。しかし、それが少し圧倒されていないかどうかはわかりません。
ご協力ありがとうございました。
ステファン