请问MAPX想实现随着鼠标移动显示地图坐标,以及根据角度,坐标生成点,线,面怎样做(200分)

  • 主题发起人 主题发起人 杨剑
  • 开始时间 开始时间

杨剑

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟用MAPX4.0开发地理信息系统,有几点难题请教大虾门,想实现随着鼠标移动显示地图坐标,以及根据角度,坐标生成点,线,面怎样做
 
倒。。。。二次开发控件都有现成的呀。。
 
MAPX不懂,学习!
 
这个问题应该不难吧,我不知道MapX是如何处理的,但在我们自己的软件中,我们是按照如下的操作步骤来解决屏幕坐标与地理坐标的转换关系。

1,在DC的OnMouseMove事件中,可以获得当前鼠标指标所在的屏幕坐标位置,是一个整数对,原点在屏幕左上角;
2,调用地图视图的屏幕坐标到地理坐标的转换接口,获得当前指针位置所对应的地理坐标;
3,在状态栏上显示地理坐标;

我想难点在第2个部分,我不清楚MapX是否提供了一个清晰的视图屏幕坐标到所对应的地理坐标的转换接口,在我们的程序中,我们是建立了一个当前显示范围(Rect)和一个基于双精度实形的显示范围(GeoRect)的对应关系,然后通过一个公用函数可以方便地得到屏幕坐标到地理坐标、地理坐标到屏幕坐标的转换。
 
1.随着鼠标移动显示地图坐标
procedure TForm1.Map1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
mScreenX, mScreenY : single; //屏幕坐标
mLon, mLat : double; //地图坐标
begin
mScreenX := X;
mScreenY := Y;
Map1.ConvertCoord(mScreenX, mScreenY, mLon, mLat, miScreenToMap);
end;

2.根据角度,坐标生成点,线,面
你的意思是在地图坐标上生成线和面,是吗?就是把几何图形投影到地图上去?
 
Mapx
自带的帮助很好,你可以去看看。
说得很详细。
 
哪里有mapx的下载?
 
各位都是高手!我用的是从网上下的MAPX5.0有破解包装完后,没有"MapInfo Shared/MapX Common"这些文件夹!
 
后退
顶部