[OpenLayers-Users] StyleMap and ModifyFeatures aren't compatible ?

Eric Lemoine eric.c2c at gmail.com
Tue Aug 5 13:29:09 EDT 2008


Hi. My gut feeling (if you care :) is an incompatibility between
addUniqueValueRules and the modify feature control. It sounds like the
default style is display:none, so the modify feature control's handles
dont get displayed. Eric

2008/8/5, George.Muammar <george at muammar.net>:
>
> Hi List,
>
> I have a functional ModifyFeatures control working on a Vector layer.
>
> When I added a StyleMap to the vector layer (so I my features are coloured
> differently based on an attribute), the ModifyFeatures control does not work
> any more!
>
> The behaviour is this:
>
> polygons: when I click on the feature it get's selected (and it becomes 100%
> opaque) but no handles appear and there is no handle functionalities any
> more.
>
> paths: can't even select it
>
> points: everything ok (select and drag works).
>
>
> Did this happen to anyone ?
>
> Thanks
>
>
>
> Some code:
>
> here's how I define the style:
>
>             var styleMap = new OpenLayers.StyleMap();
>             var lookup = {
>                 1: {fillColor: "green", fillOpacity: 0.3, strokeColor:
> "green",strokeWidth: 2},
>                 2: {fillColor: "blue", fillOpacity: 0.3, strokeColor:
> "blue", strokeWidth: 2},
>                 3: {fillColor: "red", fillOpacity: 0.3, strokeColor: "red",
> strokeWidth: 2}
>             };
>             styleMap.addUniqueValueRules("default", "attribute", lookup);
>
>             vLayer = new OpenLayers.Layer.Vector("Vettori", {
>                 styleMap: styleMap
>             });
>
>
> here's how I create my controls:
>
> function addControls()
> {
> 		vLayer.display(true);
>             panel = new OpenLayers.Control.Panel({'displayClass':
> 'olControlEditingToolbar'});
>
>
>             conts = {
> 		    zoombox: new OpenLayers.Control.ZoomBox(),
>
>                 nav: new OpenLayers.Control.Navigation(),
>
> 		    point: new OpenLayers.Control.DrawFeature(vLayer,
>                             OpenLayers.Handler.Point,
>                             {'displayClass': 'olControlDrawFeaturePoint',
>                              featureAdded:feature_added}),
>
>                 line: new OpenLayers.Control.DrawFeature(vLayer,
>                             OpenLayers.Handler.Path,
>                             {'displayClass': 'olControlDrawFeaturePath',
>                              featureAdded:feature_added}),
>
>                 polygon: new OpenLayers.Control.DrawFeature(vLayer,
>                             OpenLayers.Handler.Polygon,
>                             {'displayClass': 'olControlDrawFeaturePolygon',
>                              featureAdded:feature_added}),
>
>                rectangle: new OpenLayers.Control.DrawFeature(vLayer,
>                             OpenLayers.Handler.RegularPolygon,
>                             {handlerOptions: {sides: 4, irregular: true},
>                             'displayClass': 'olControlDrawFeatureRectangle',
>                              featureAdded:feature_added}),
>
>                 modify: new OpenLayers.Control.ModifyFeature(vLayer,
>                            {'displayClass': 'olControlModifyFeature',
>                             onModification: on_modification,
> 					mode: OpenLayers.Control.ModifyFeature.RESHAPE |
> OpenLayers.Control.ModifyFeature.DRAG |
> OpenLayers.Control.ModifyFeature.RESIZE |
> OpenLayers.Control.ModifyFeature.ROTATE})
>
> 			};
>
> 	    for(var key in conts) {
>                 panel.addControls([conts[key]]);
>             }
>
>             panel.activateControl(conts.nav);
>
> 		layerSwitcher = new OpenLayers.Control.LayerSwitcher({'ascending':false});
> 		panZoomBar = new OpenLayers.Control.PanZoomBar()
> 		permalink = new OpenLayers.Control.Permalink('permalink');
>
>             map.addControl( layerSwitcher );
>             map.addControl( panZoomBar);
> 		map.addControl(permalink);
>             map.addControl(panel);
>
> 		vLayer.display(true);
> 		
> }
>
>
> --
> View this message in context:
> http://www.nabble.com/StyleMap-and-ModifyFeatures-aren%27t-compatible---tp18827878p18827878.html
> Sent from the OpenLayers Users mailing list archive at Nabble.com.
>
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
>



More information about the Users mailing list