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