将px转换为度数

时间:2011-12-14 10:19:19

标签: jquery math

我想我在这里有两个不同的问题,我正在建立这个question。我想更进一步,将px值转换为真实的纬度和经度坐标。

所以我想将 251px N,10px E 转为 40°10'33''N,3°4'56''E

40°= 40度

10'= 10分钟

33''= 33秒

或40.133我认为但是当分钟数达到60分时,它会将下一个度数提高一个。所以41当它的40.559 + 1多秒。我希望有人理解。

var screenX = $(document).width() / 2;
var screenY = $(document).height() / 2;

$(document).mousemove(function(e){

var apX = screenX - e.pageX;
var apY = screenY - e.pageY;

var latT = (apY>=0) ? 'N' : 'S';
var lonT = (apX>=0) ? 'W' : 'E';

apX = Math.round(Math.abs(apX));
apY = Math.round(Math.abs(apY));

$('#detect').html( apX  + 'px '+ latT +', '+ apY + 'px '+ lonT  );

});

Demo上述代码。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这样的事情应该有效:

$('#detect').html( toGeo(apX, screenX)  + latT +', '+ toGeo(apY, screenY) + lonT  );

function toGeo(d, max) {
   var c = '';

   var r = d/max * 180;
   var deg = Math.floor(r);
   c += deg + "° ";

   r = (r - deg) * 60;
   var min = Math.floor(r);
   c += min + "′ ";

   r = (r - min) * 60;
   var sec = Math.floor(r);
   c += sec + "″";

   return c;
}

提醒一下:这些是“假的”坐标,它们不会对应真实的地图。