从纬度到球形投影地图上获取Y位置

时间:2011-06-14 18:07:27

标签: javascript maps latitude-longitude

在Javascript中。

我有一张1024 x 1024px的世界地图 - 它是一个球形墨卡托投影。

我希望将long / lat转换为此映射的x,y。我有一堆坐标需要叠加在它上面。

计算经度非常简单,我这样做:

pos.x = ((long + 180)/ 360) * 1024;

我只需要同样的lat - > ÿ

我环顾四周看到了很多关于openlayers的内容,但没有看到这样的转换。

2 个答案:

答案 0 :(得分:4)

把它煮沸:

var mercator = function(lat, lng) {
  return [lng, Math.log( (Math.sin(lat) + 1.0) / Math.cos(lat)) ] ;
};

当然,Lat和long必须以弧度表示。

答案 1 :(得分:-1)

您可以在此维基百科文章中找到相应的公式:Mercator Projection