问题描述
|
用Java语言编写。
我有一张1024 x 1024像素的世界地图-这是球形墨卡托投影。
我正在为此地图将long / lat转换为x,y。我有一堆坐标需要叠加在其上。
计算经度非常容易,我这样做是这样的:
@H_404[email protected] = ((long + 180)/ 360) * 1024;
我只需要纬度-> y
我环顾四周,发现有很多关于openlayers的参考,但是没有看到这样的转换。
解决方法
煮下来:
var mercator = function(lat,lng) {
return [lng,Math.log( (Math.sin(lat) + 1.0) / Math.cos(lat)) ] ;
};
纬度和经度当然必须以弧度表示。
, 您可以在此Wikipedia文章中找到相应的公式:墨卡托投影。