Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

When I use drag feature, then the circles on the polygon edge has the same style. For example, this OpenLayers site.

I need to change it, I mean they need to be a different color.

What is their (cycles) style attribute?

share|improve this question

2 Answers 2

up vote 7 down vote accepted

You should use vertexRenderIntent property of ModifyFeature control. For example:

var vertexStyle = {
    strokeColor: "#ff0000",
    fillColor: "#ff0000",
    strokeOpacity: 1,
    strokeWidth: 2,
    pointRadius: 3,
    graphicName: "cross"
}

var styleMap = new OpenLayers.StyleMap({
    "default": OpenLayers.Feature.Vector.style['default'],
    "vertex": vertexStyle
}, {extendDefault: false});

var layer = new OpenLayers.Layer.Vector('features', {styleMap: styleMap});
map.addControl(new OpenLayers.Control.ModifyFeature(layer, {vertexRenderIntent: "vertex"}));

At result we have the following style:

enter image description here

share|improve this answer

The approach outlined by @drnextgis is the correct one to follow. However, be aware that there is currently a bug in OpenLayers (as of version 2.11) that means if you add a unique values renderer to the StyleMap using the addUniqueValueRules method then the drag handles will disappear.

If you encounter this please look at my question for details of how to work around it.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.