Assuming you are using the Web Mercator projection (Google Maps, MapBox etc), the key lies in these two equations:
where λ is the longitude in radians and φ is geodetic latitude in radians. The x and y values are the so-called 'pixel coordinates' as originally defined by Google.
What you actually need are the inverse of these two equations, so that you can convert the latitude and longitude into x and y values. The inverse equations are:
where
Given the centre co-ordinates of your image as defined by λ and φ, convert these into the x and y pixel coordinates for your chosen zoom level using the first two equations above.
If h is the height of your image, and w is its width, you can then calculate the (l)eft, (r)ight, (t)op and (b)ottom pixel coordinates of your image:
l = x - (w/2)
r = x + (w/2)
t = y - (h/2) (minus since zero is at the top for Web Mercator pixels)
b = y + (h/2)
Then, convert back into latitude and longitude using the original equations, substituting l or r for x, and t or b for y.
EDIT: Trying this with the non-Retina MapBox Static API, I found that I had to use a factor of 4 instead of 2 in the last four equations. Not sure why this is, but probably something to do with internal scaling in the MapBox servers.
Theres an item called Solmeta Geotagger Pro, which you might want to take a look at, im not sure about the price.
http://www.solmeta.com/Product/show/id/14
We've used it, but had mixed results if you are not in the open, as the slightest interferences cause incorrect measurements. It is not usable in a car for example.
Best Answer
This is one solution to your problem (though your example is wrong according to wikipedia, as @bennos points out).