[OpenLayers-Users] display on-the-fly area while drawing a region on the map?

Toby Reinicke ramotswa at gmail.com
Tue Nov 22 11:03:31 EST 2011


Hi Martin. 
Have a look at http://openlayers.org/dev/examples/measure.html and look at the immediate option. It'll work on each click, doing it on mouse move youd have to write a mouse move listener into the draw tool and do appropriate stuff there,
Toby

On 22 Nov 2011, at 15:51, Martin Ouellet <geomartino at gmail.com> wrote:

> Hi all,
> 
> Currently I used this piece of code to allow the user to draw a region of interest on the map:
> 
> drawControls = new OpenLayers.Control(); 
>  OpenLayers.Util.extend(drawControls, { 
>           draw: function() { 
>               this.box = new OpenLayers.Handler.RegularPolygon(drawControls,
>               {"done": this.notice}, {sides:4, irregular:true, persist:true});
>             }, 
>            notice: function(geom) { 
>             // whatever you want it to do after the box has been drawn
>             var feature = new OpenLayers.Feature.Vector(geom);
>             layer_zone_extraction.addFeatures(feature);
>             //afficher la superficie de la zone dessiné
>             var bounds = getExtractBounds();
>             var ll = new OpenLayers.LonLat(bounds.left, bounds.bottom);
>             var ur = new OpenLayers.LonLat(bounds.right, bounds.top);
>             var superficieKm = Math.abs(((bounds.left-bounds.right)/1000)*((bounds.top-bounds.bottom)/1000));
>             $('#message').jGrowl(superficieKm.toFixed(2) + " km²");
>            }
>         }); 
> 
> Is it's possible to display the area value on-the-fly while the user draw it instead of after he finished?
> 
> Thanks you in advance!
> 
> MartinO
> _______________________________________________
> Users mailing list
> Users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/openlayers-users


More information about the Users mailing list