我想我在这里有两个不同的问题,我正在建立这个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上述代码。有什么建议吗?
答案 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;
}
提醒一下:这些是“假的”坐标,它们不会对应真实的地图。