write a test for automatic clustering and fix render issue
This commit is contained in:
@@ -92,6 +92,9 @@ my.Map = Backbone.View.extend({
|
|||||||
self.state.set(self.menu.state.toJSON());
|
self.state.set(self.menu.state.toJSON());
|
||||||
self.redraw();
|
self.redraw();
|
||||||
});
|
});
|
||||||
|
this.state.bind('change', function() {
|
||||||
|
self.redraw();
|
||||||
|
});
|
||||||
this.elSidebar = this.menu.el;
|
this.elSidebar = this.menu.el;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -179,7 +182,7 @@ my.Map = Backbone.View.extend({
|
|||||||
var countAfter = 0;
|
var countAfter = 0;
|
||||||
this.features.eachLayer(function(){countAfter++;});
|
this.features.eachLayer(function(){countAfter++;});
|
||||||
var sizeIncreased = countAfter - countBefore > 0;
|
var sizeIncreased = countAfter - countBefore > 0;
|
||||||
if (!this.state.get('cluster') && countAfter > 100 && sizeIncreased) {
|
if (!this.state.get('cluster') && countAfter > 99 && sizeIncreased) {
|
||||||
this.state.set({cluster: true});
|
this.state.set({cluster: true});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,13 +130,34 @@ test('_getGeometryFromRecord non-GeoJSON', function () {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('many markers', function () {
|
||||||
|
var data = [];
|
||||||
|
for (var i = 0; i<1000; i++) {
|
||||||
|
data.push({ id: i, lon: 13+3*i, lat: 52+i/10});
|
||||||
|
}
|
||||||
|
var fields = [
|
||||||
|
{id: 'id'},
|
||||||
|
{id: 'lat'},
|
||||||
|
{id: 'lon'}
|
||||||
|
];
|
||||||
|
|
||||||
|
var dataset = new recline.Model.Dataset({records: data, fields: fields});
|
||||||
|
var view = new recline.View.Map({
|
||||||
|
model: dataset
|
||||||
|
});
|
||||||
|
$('.fixtures').append(view.el);
|
||||||
|
view.render();
|
||||||
|
|
||||||
|
dataset.query();
|
||||||
|
|
||||||
|
equal(view.state.get('cluster'), true);
|
||||||
|
view.remove();
|
||||||
|
});
|
||||||
|
|
||||||
test('Popup', function () {
|
test('Popup', function () {
|
||||||
var dataset = GeoJSONFixture.getDataset();
|
var dataset = GeoJSONFixture.getDataset();
|
||||||
var view = new recline.View.Map({
|
var view = new recline.View.Map({
|
||||||
model: dataset,
|
model: dataset
|
||||||
state: {
|
|
||||||
cluster: false
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
$('.fixtures').append(view.el);
|
$('.fixtures').append(view.el);
|
||||||
view.render();
|
view.render();
|
||||||
|
|||||||
Reference in New Issue
Block a user