将LAT,LONG转换为AS3中Equirectangular Map Projection上的实际屏幕X,Y坐标

时间:2012-12-25 22:31:27

标签: actionscript-3 flash actionscript geolocation map-projections

我正在Geo Locations做一个小项目。我需要在equirectangular projection的地图上突出显示某些城市。我有这些城市的LON LAT值,我需要找到一种方法将这些值转换为屏幕上的实际x,y坐标,可以使用任意大小的地图(带有equirectangular投影) 。我找到了一个代码,但它为Mercator projection做了。任何线索?谢谢

1 个答案:

答案 0 :(得分:1)

这比做墨卡托投影简单得多,试试这个函数:

public function getXY(lat:Number, lng:Number):Point
{
  var screenX:Number = ((lng + 180) * (mapWidth  / 360));
  var screenY:Number = (((lat * -1) + 90) * (mapHeight/ 180));

  return new Point(screenX,screenY);
}

mapWidthmapHeight应该是您正在使用的地图图片的宽度和高度。此功能将根据地图大小将LAT LON的平移坐标返回到屏幕的X,Y。