マップとbackbone.jsを一緒に使用しています。使用するMapJSライブラリはLeafletですが、GoogleMapsAPIもここに適用されます。
問題: Backbone.jsを使用すると、プレゼンテーション(ビュー)をデータ(モデル、コレクション)から分離できます。Google Maps JS APIまたはリーフレットを使用する場合、マーカーのレンダリングを制御できないようであるため、各マーカーのバックボーンビューを設定できません。これは本当ですか?
マップをbackbone.jsと一緒に使用すると、コールバック関数でネストされたビューとイベントハンドラーを取得し始めます。
JS(Leaflet、Google Maps APIに類似)
// Handle a dragging on the map
map.on('dragend', function() {
App.markersList.fetch(
data: someData,
processData: true
function() {
App.markersListView.render();
};)
});
// Handle a click on a Marker
map.on('popupopen', function() {
// Activate bootstrap tabs
$('#tabs').tab();
// Submit click handler
$('#submit-button').click(function() {
$.post('/api/submit-something',
{data: data},
function() {
// Remove some divs
$('#some-divs').fadeOut();
})
})
// Activate slideshow
Galleria.loadTheme('/js/vendor/galleria.miniml.min.js');
Galleria.configure({
height: 320
});
Galleria.run('#galleria');
// Validation
$('.email-link form').validate({
rules: { ... }
});
});
よくわかります...BackboneのMVC構造の外でこれらを行う必要があります。両方を統合する正しい方法を見逃している可能性があります。何か案は?ありがとう!!