Add ol.View2D#fitGeometry
This commit is contained in:
@@ -102,6 +102,78 @@ describe('ol.View2D', function() {
|
||||
expect(view.getZoom()).to.be(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
describe('fitGeometry', function() {
|
||||
var view;
|
||||
beforeEach(function() {
|
||||
view = new ol.View2D({
|
||||
resolutions: [200, 100, 50, 20, 10, 5, 2, 1]
|
||||
});
|
||||
});
|
||||
it('fit correctly to the geometry', function() {
|
||||
view.fitGeometry(
|
||||
new ol.geom.LineString([[6000, 46000], [6000, 47100], [7000, 46000]]),
|
||||
[200, 200],
|
||||
{
|
||||
padding: [100, 0, 0, 100],
|
||||
constrainResolution: false
|
||||
}
|
||||
);
|
||||
expect(view.getResolution()).to.be(11);
|
||||
expect(view.getCenter()[0]).to.be(5950);
|
||||
expect(view.getCenter()[1]).to.be(47100);
|
||||
|
||||
view.fitGeometry(
|
||||
new ol.geom.LineString([[6000, 46000], [6000, 47100], [7000, 46000]]),
|
||||
[200, 200],
|
||||
{
|
||||
padding: [100, 0, 0, 100]
|
||||
}
|
||||
);
|
||||
expect(view.getResolution()).to.be(20);
|
||||
expect(view.getCenter()[0]).to.be(5500);
|
||||
expect(view.getCenter()[1]).to.be(47550);
|
||||
|
||||
view.fitGeometry(
|
||||
new ol.geom.LineString([[6000, 46000], [6000, 47100], [7000, 46000]]),
|
||||
[200, 200],
|
||||
{
|
||||
padding: [100, 0, 0, 100],
|
||||
nearest: true
|
||||
}
|
||||
);
|
||||
expect(view.getResolution()).to.be(10);
|
||||
expect(view.getCenter()[0]).to.be(6000);
|
||||
expect(view.getCenter()[1]).to.be(47050);
|
||||
|
||||
view.fitGeometry(
|
||||
new ol.geom.Point([6000, 46000]),
|
||||
[200, 200],
|
||||
{
|
||||
padding: [100, 0, 0, 100],
|
||||
minResolution: 2
|
||||
}
|
||||
);
|
||||
expect(view.getResolution()).to.be(2);
|
||||
expect(view.getCenter()[0]).to.be(5900);
|
||||
expect(view.getCenter()[1]).to.be(46100);
|
||||
|
||||
view.setRotation(Math.PI / 4);
|
||||
view.fitGeometry(
|
||||
new ol.geom.LineString([[6000, 46000], [6000, 47100], [7000, 46000]]),
|
||||
[200, 200],
|
||||
{
|
||||
padding: [100, 0, 0, 100],
|
||||
constrainResolution: false
|
||||
}
|
||||
);
|
||||
expect(view.getResolution()).to.be(14.849242404917458);
|
||||
expect(view.getCenter()[0]).to.be(5200.000000000011);
|
||||
expect(view.getCenter()[1]).to.be(46300);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
goog.require('ol.View2D');
|
||||
goog.require('ol.geom.LineString');
|
||||
goog.require('ol.geom.Point');
|
||||
|
||||
Reference in New Issue
Block a user