On Wed, Jan 16, 2013 at 3:24 PM, Donald Kerr <[email protected]>wrote:

> Any takers? Help greatly appreciated.****
>
> ** **
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Donald Kerr
> *Sent:* 15 January 2013 08:14
> *To:* [email protected]
> *Subject:* [OpenLayers-Users] Display Radius When Creating Circle with
> DrawFeature****
>
> ** **
>
> Using the following code,****
>
> ** **
>
> *      myLayer = new OpenLayers.Layer.Vector("My Layer");*
>
> *      myCtrlCirc = new OpenLayers.Control.DrawFeature(*
>
> *            myLayer,*
>
> *            OpenLayers.Handler.RegularPolygon,*
>
> *            {handlerOptions: {sides: 40}}*
>
> *            );*****
>
> ** **
>
> I am creating a circle (40 sided polygon) by mousing down on the map,
> dragging the mousing up. After mouseup, the polygon is added to the layer
> as a vector feature. This allows me to see the size of the circle as I am
> drawing it.****
>
> ** **
>
> Is there a way to display the radius of the circle in a div as it is being
> created? “*sketchmodified” *does not seem to get fired and I cannot think
> of a way to get this to work.****
>
> **
>


I ended up modifying the the OpenLayers RegularPolygon.js to do this,
although I imagine that a better JS programmers than myself might be able
to extend the method or do something more elegant. In the move: function
just before this.modifyGeometry() I added this:

        if (typeof(displayRadius)==='function') {
          displayRadius(new OpenLayers.Geometry.LineString([this.origin,
point]));
        }

displayRadius() is my function that formats the radius to appropriate units
and displays it in a div.

HTH,
Rich

-- 
Richard Greenwood
[email protected]
www.greenwoodmap.com
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users

Reply via email to