new slideRatio option for Control.Pan and Control.PanPanel. r=bartvde (closes #3039)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@11070 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
ahocevar
2011-02-02 15:00:57 +00:00
parent 5d92c646b6
commit 198b3a9c7f
3 changed files with 79 additions and 15 deletions

View File

@@ -3,7 +3,7 @@
<script src="../../lib/OpenLayers.js"></script>
<script type="text/javascript">
function test_constructor (t) {
t.plan(1);
t.plan(2);
// set up
var control;
@@ -15,9 +15,47 @@
control.controls[2].slideFactor == 200 &&
control.controls[3].slideFactor == 200,
"ctor sets slideFactor in all Pan controls");
control.destroy();
control = new OpenLayers.Control.PanPanel({slideRatio: .5});
t.ok(control.controls[0].slideRatio == .5 &&
control.controls[1].slideRatio == .5 &&
control.controls[2].slideRatio == .5 &&
control.controls[3].slideRatio == .5,
"ctor sets slideRatio in all Pan controls");
control.destroy();
}
function test_slide(t) {
t.plan(2);
var map = new OpenLayers.Map("map", {
panMethod: null,
controls: [
new OpenLayers.Control.PanPanel(),
new OpenLayers.Control.PanPanel({slideRatio: .5})
],
layers: [new OpenLayers.Layer(null, {isBaseLayer: true})],
center: new OpenLayers.LonLat(0, 0),
zoom: 1
});
map.controls[0].controls[0].trigger();
map.controls[0].controls[2].trigger();
map.pan(-50, 50);
t.eq(map.getCenter().toShortString(), "0, 0", "correct pan distance with slideFactor");
map.controls[1].controls[0].trigger();
map.controls[1].controls[2].trigger();
map.pan(-128, 64);
t.eq(map.getCenter().toShortString(), "0, 0", "correct pan distance with slideRatio");
map.destroy();
}
</script>
</head>
<body>
<div id="map" style="width: 256px; height: 128px;"></div>
</body>
</html>