Making sketch handlers work over the dateline by using layer.getLonLatFromViewPortPx instead of map.getLonLatFromPixel. Thanks bartvde for the unit and acceptance tests. r=bartvde (closes #2787)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@12346 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -1376,6 +1376,32 @@
|
||||
map.destroy();
|
||||
}
|
||||
|
||||
function test_citeComplaint(t) {
|
||||
t.plan(2);
|
||||
var map = new OpenLayers.Map('map');
|
||||
map.addLayer(new OpenLayers.Layer.OSM());
|
||||
var layer = new OpenLayers.Layer.Vector();
|
||||
map.addLayer(layer);
|
||||
var control = new OpenLayers.Control({});
|
||||
var handler = new OpenLayers.Handler.Path(control, {});
|
||||
control.handler = handler;
|
||||
map.addControl(control);
|
||||
map.zoomToExtent(new OpenLayers.Bounds(-24225034.496992, -11368938.517442, -14206280.326992, -1350184.3474418));
|
||||
handler.activate();
|
||||
handler.createFeature(new OpenLayers.Pixel(100, 50));
|
||||
t.ok(handler.point.geometry.x < 0, "Geometry started correctly when wrapping the dateline using citeCompliant false");
|
||||
control.deactivate();
|
||||
|
||||
handler = new OpenLayers.Handler.Path(control, {}, {citeCompliant: true});
|
||||
control.handler = handler;
|
||||
control.activate();
|
||||
handler.createFeature(new OpenLayers.Pixel(100, 50));
|
||||
t.ok(handler.point.geometry.x > 0, "Geometry started correctly when wrapping the dateline using citeCompliant true");
|
||||
|
||||
map.destroy();
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Reference in New Issue
Block a user