3

我正在做一个关于地理位置的小项目。我需要在地图上突出显示某些城市equirectangular projection。我已经获得了LON LAT这些城市的值,我需要找到一种方法将这些值转换为屏幕上的实际 x、y 坐标,该坐标适用于任何大小的地图(使用等角投影)。我找到了一个代码,但它是为Mercator projection. 任何线索?谢谢

4

1 回答 1

2

这比做墨卡托投影要简单得多,试试这个功能:

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);
}

mapWidth并且mapHeight应该是您正在使用的地图图像的宽度和高度。此函数将根据地图大小返回从 LAT LON 到屏幕 X、Y 的转换坐标。

于 2012-12-25T22:42:57.257 回答