Jul 10, 2012 at 11:35 AM
Edited Jul 10, 2012 at 11:53 AM
SOLVED! I found a way to change a point symbolizer envelope:
PF_OFF_AT_FS.Features(0).EnvelopeSource = CacheTypes.Cached
PF_OFF_AT_FS.Features(0).Envelope.Minimum.X = -25
PF_OFF_AT_FS.Features(0).Envelope.Minimum.Y = -50
PF_OFF_AT_FS.Features(0).Envelope.Maximum.X = +25
PF_OFF_AT_FS.Features(0).Envelope.Maximum.Y = +50
(PF_OFF_AT_FS is my featureset)
In this way you don't have to use workarounds (associating a envelope to the mouse pointer) when selecting symbols, only set the right envelope size for them and it will let you select clicking in their entire area. It's very important to set the envelope
source to cached, otherwise dotspatial fixes the envelope size to a single point.
For selecting I'm using selectionmode.intersectsextent, like this:
Map1.[Select](env, env, SelectionMode.IntersectsExtent, Map1.Extent.ToEnvelope)
(env is an square envelope of only 2x2 size)
Thank you all for the advices.
P.D. Edited to change envelope minimums to negative values and solve bottom-left selection issues.