[mapserver-dev] Querymap fails for polygon layers with labels only (no styles)

Steve Lime sdlime at gmail.com
Thu Mar 11 16:19:02 PST 2021


Layers with only labels (so the old ANNOTATION layers) wouldn't normally be
queryable so things are as they are on purpose. I mean, labels are
conditionally shown based on available space, they can spill out over other
features and you can't actually query/click on a label. That doesn't mean
there isn't room for improvement and I'd expect all label-only layers to
behave the same way regardless of the underlying geometry type. I'd be fine
with your suggestion and would suggest pushing the point case of label-only
(I'm surprised it works as it does) to that same block of code.

--Steve

On Thu, Mar 11, 2021 at 3:41 PM Tamas Szekeres <szekerest at gmail.com> wrote:

> Hi Devs,
>
> Currenly msDrawQueryLayer fails with error if the layer type is polygon,
> the querymap style is MS_HILITE, and the layer class contains only label
> elements.
>
> Is this intentional?
>
> The same setting works with the point layers (where the labels are being
> highlighted) so I guess it should also work with the polygon layers.
>
> The corresponding code looks like this:
>
>
>
>
>
>
>
> *if(layer->type == MS_LAYER_POLYGON) { /* alter BOTTOM style since that's
> almost always the fill */        if (layer->class[i]->styles == NULL) {
>       msSetError(MS_MISCERR, "Don't know how to draw class %s of layer %s
> without a style definition.", "msDrawQueryLayer()", layer->class[i]->name,
> layer->name);          msFree(colorbuffer);
> msFree(mindistancebuffer);          return(MS_FAILURE);        }*
>
> however the classes with no styles can surely be handled later in the code:
>
> } else if (layer->class[i]->numlabels > 0) {
>           colorbuffer[i] = layer->class[i]->labels[0]->color;
>           layer->class[i]->labels[0]->color = map->querymap.color;
>       }
>
> Should I prepare a fix for this problem?
>
> Best regards,
>
> Tamas
>
> _______________________________________________
> mapserver-dev mailing list
> mapserver-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-dev/attachments/20210311/cf6e28b1/attachment.html>


More information about the mapserver-dev mailing list