Right now, the closestPoint stuff doesn't work so well if the point is already inside a feature. For example, with polygons it will currently find the closest point on the edge of the polygon. I'd be tempted to have a good think about what the right strategy for this case is.