From 61ed146240b36b4851005d5ad66a124722c9f552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Thu, 31 Mar 2011 11:35:24 +0000 Subject: [PATCH] when drawing make sure the point follow the cursor, even after zooming in or out, p=jorix, r=me (closes #3195) git-svn-id: http://svn.openlayers.org/trunk/openlayers@11836 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Handler/Path.js | 1 + tests/Handler/Path.html | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/OpenLayers/Handler/Path.js b/lib/OpenLayers/Handler/Path.js index 28acfcb08a..107e307182 100644 --- a/lib/OpenLayers/Handler/Path.js +++ b/lib/OpenLayers/Handler/Path.js @@ -157,6 +157,7 @@ OpenLayers.Handler.Path = OpenLayers.Class(OpenLayers.Handler.Point, { this.line.geometry.addComponent( this.point.geometry, this.line.geometry.components.length ); + this.layer.addFeatures([this.point]); this.callback("point", [this.point.geometry, this.getGeometry()]); this.callback("modify", [this.point.geometry, this.getSketch()]); this.drawFeature(); diff --git a/tests/Handler/Path.html b/tests/Handler/Path.html index 21a704b444..1823315099 100644 --- a/tests/Handler/Path.html +++ b/tests/Handler/Path.html @@ -105,7 +105,7 @@ } function test_bounds(t) { - t.plan(2); + t.plan(5); var geometry; var map = new OpenLayers.Map('map'); map.addLayer(new OpenLayers.Layer.WMS("", "", {})); @@ -115,16 +115,22 @@ var handler = new OpenLayers.Handler.Path(control, {}, {stopDown: true, stopUp: true}); var activated = handler.activate(); + t.eq(handler.layer.features.length, 2, + "There are two features in the layer after activation."); // click on (150, 75) var evt = {xy: new OpenLayers.Pixel(150, 75), which: 1}; handler.mousemove(evt); handler.mousedown(evt); handler.mouseup(evt); + t.eq(handler.layer.features.length, 2, + "There are two features in the layer after first click."); // click on (175, 100) evt = {xy: new OpenLayers.Pixel(175, 100), which: 1}; handler.mousemove(evt); handler.mousedown(evt); handler.mouseup(evt); + t.eq(handler.layer.features.length, 2, + "There are two features in the layer after second click."); t.ok(handler.line.geometry.getBounds().equals( new OpenLayers.Bounds(0,-35.15625,35.15625,0)), "Correct bounds");