I use GeoServer as my GIS service and render some points with pictures, SLD code like this:
<PointSymbolizer> <Graphic> <ExternalGraphic> <OnlineResource xlink:type="simple" xlink:href="http://xxx/xxx.jpg" /> <Format>image/jpeg</Format> </ExternalGraphic> <Size>32</Size> </Graphic> </PointSymbolizer>
and in OpenLayers all work fine, I can see picture is rendered normally.
But the problem is, when I want to click(select) this picture, it seems OpenLayers using WFS/WMS generated click bbox coordinates and send them to GeoServer, and if this bbox intersects with the Point(picture) coordinates, the point is selected only if I click very close to point coordinate. But when I click the edge of this picture or not very close to the point (still inside this picture), the click query bbox generated by OpenLayers do not intersect with picture rendering point and this feature will not be selected finally.
Simply said: there is a picture with 256*256 pixel size, rendered in GeoServer by PointSymbolizer.
This points coordinates are [128,128] (screen coordinate, center of picture).
When you click close to [128,128] this point can be selected, but when you click [250,250](still inside picture) this point can't be selected.
Any advice? thanks