I need to create a program (it'll be on a server) that will get the map that lies witihin the longitude and latitude points provided by a user, and generate a PDF map of that.

At a later time, I'll need to annotate it with some database data (crop yield within that region). Does anyone know how to select/generate a map that fits within the 4 corner points (or 2 opposite corners) of a bounding rectangle and turn that into PS or PDF or GIF or anything other than a map?