OpenLayers.Util.getFormattedLonLat does not deal correctly with 60 seconds and 60 minutes, p=mattnott,jorix, r=me,marcjansen (closes #2852)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@11405 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
bartvde
2011-02-24 11:24:50 +00:00
parent 680923319c
commit 07e34672b5
2 changed files with 15 additions and 0 deletions

View File

@@ -1849,6 +1849,15 @@ OpenLayers.Util.getFormattedLonLat = function(coordinate, axis, dmsOption) {
coordinateseconds = Math.round(coordinateseconds*10);
coordinateseconds /= 10;
if( coordinateseconds >= 60) {
coordinateseconds -= 60;
coordinateminutes += 1;
if( coordinateminutes >= 60) {
coordinateminutes -= 60;
coordinatedegrees += 1;
}
}
if( coordinatedegrees < 10 ) {
coordinatedegrees = "0" + coordinatedegrees;
}

View File

@@ -1101,6 +1101,12 @@
t.eq(OpenLayers.Util.toFloat(b1), OpenLayers.Util.toFloat(b2),
"toFloat rounds large floats correctly #2");
}
function test_getFormattedLonLat(t) {
t.plan(1);
var z = 2 + (4/60) - 0.000002 ;
t.eq(OpenLayers.Util.getFormattedLonLat(z,"lon"), "02°04'00\"E",
"LonLat does not show 60 seconds.");
}
</script>
</head>
<body>