]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/gui/map/MapUtils.java
Version 14, October 2012
[GpsPrune.git] / tim / prune / gui / map / MapUtils.java
index 0c6cd1cb2ee5818e96444b944732772ad7fdeafd..78206a3956959f6126ed1568a29893a61ce76e36 100644 (file)
@@ -27,12 +27,16 @@ public abstract class MapUtils
 
        /**
         * Transform an x coordinate into a longitude
-        * @param inX scaled X value from 0 to 1
+        * @param inX scaled X value from 0(-180deg) to 1(+180deg)
         * @return longitude in degrees
         */
        public static double getLongitudeFromX(double inX)
        {
-               return inX * 360.0 - 180.0;
+               // Ensure x is really between 0 and 1 (to wrap longitudes)
+               double x = ((inX % 1.0) + 1.0) % 1.0;
+               // Note: First %1.0 restricts range to (-1,1), then +1.0 shifts to (0,2)
+               // Finally, %1.0 to give (0,1)
+               return x * 360.0 - 180.0;
        }
 
        /**