// we need to convert x/y from the screen to the original coordinates, and then to the ones
// that will be used to make the request
AffineTransform at = RendererUtilities.worldToScreenTransform(bbox, new Rectangle(width, height));
Point2D screenPos = new Point2D.Double(x, y);
Point2D worldPos = new Point2D.Double(x, y);
at.inverseTransform(screenPos, worldPos);
DirectPosition2D fromPos = new DirectPosition2D(worldPos.getX(), worldPos.getY());
DirectPosition2D toPos = new DirectPosition2D();
MathTransform mt = CRS.findMathTransform(bbox.getCoordinateReferenceSystem(), getReader().requestCRS, true);
mt.transform(fromPos, toPos);
GetMapRequest mapRequest = getReader().mapRequest;