假如你的地图单位是以平面坐标(公里网)为单位的,而现在要做一个地理坐标(经纬网)来进行定位的功能,这个过程就涉及到了坐标的转换。
我们知道,在地图中地理坐标和投影是两个非常重要的概念,具体的定义和区分请自己google。在进行地理坐标与平面坐标转换工作之前,必须保证地图具有某个具体的投影才可以。
下面是如何进行转换的过程:(C#代码)
输入数据:double 经度:x=117.1234度;纬度:y=43.3456度;
地图单位:Meters /KiloMeters 等
//获取当前地图的空间参考信息
IProjectedCoordinateSystem pcs = axMapControl1.SpatialReference as IProjectedCoordinateSystem;
//定义点
WKSPoint pt = new WKSPoint(); //不能用IPoint pt = new PointClass();哦,因为后面的方法只支持WKSPoint。
pt.X = x;
pt.Y = y;
//pcs.Inverse(1, ref pt); //将平面坐标转换为地理坐标
pcs.Forward(1, ref pt); //将地理坐标转换为平面坐标
OK了,这时pt.X 和Pt.Y 就是你要的在地图上的点啦~