The 1 of degree longitude distance varies as was said in a comment depending on the latitude you are at. Longitude is wider at the equator and narrows down at the poles, unlike latitude that has a constant size across the globe. To visualize this see:
Visualize the globe
Another good reference that helped me was:
Calculate distance, bearing and more between Latitude/Longitude points
I had a similar problem. Here is the code I came up with to get a pretty good bounding box. Give this function a gps location string ("x.xx, y.yy") and "radius" in km and it generates the north, south, east, west decimal coordinates for a bounding box. This is in Java but should be easy to convert to another language.
// Compute bounding Box coordinates for use with Geonames API.
class BoundingBox
{
public double north, south, east, west;
public BoundingBox(String location, float km)
{
//System.out.println(location + " : "+ km);
String[] parts = location.replaceAll("\\s","").split(","); //remove spaces and split on ,
double lat = Double.parseDouble(parts[0]);
double lng = Double.parseDouble(parts[1]);
double adjust = .008983112; // 1km in degrees at equator.
//adjust = 0.008983152770714983; // 1km in degrees at equator.
//System.out.println("deg: "+(1.0/40075.017)*360.0);
north = lat + ( km * adjust);
south = lat - ( km * adjust);
double lngRatio = 1/Math.cos(Math.toRadians(lat)); //ratio for lng size
//System.out.println("lngRatio: "+lngRatio);
east = lng + (km * adjust) * lngRatio;
west = lng - (km * adjust) * lngRatio;
}
}
The above code give a pretty good approximation that can be off a mile or two depending on your latitude. If you want to be more accurate then you might take a look at the answers here:
Geotools: bounding box for a buffer in wgs84
See Eduardo's answer to this question. It seems like a pretty accurate solution.