请教各位,开发环境,windows2000+delphi6+mapx控件,实现地图上两点测距。
我的代码有问题,请高人帮忙,指点迷津,谢谢!procedure TForm1.FormCreate(Sender: TObject);
begin
//添加测距工具
self.Map1.CreateCustomTool(tooldistance,miToolTypePoly,miCrossCursor);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
//加上这句,将出现测距的虚线,工具切换到测距状态
self.Map1.CurrentTool:=tooldistance;
end;procedure TForm1.Map1PolyToolUsed(Sender: TObject; ToolNum: Smallint;
Flags: Integer; const Points: IDispatch; bShift, bCtrl: WordBool;
var EnableDefault: WordBool);
var
pts:CMapxPoints;
i:integer;
pt1:CMapxPoint;
pt2:CMapxPoint;
//相临两点之间的直线距离
distance:double;
//起点和终点的距离
dissum:double;
begin
dissum:=0;if ToolNum=tooldistance then
begin
//从这里开始出现迷惑
//for以下的语句有问题,我不清楚的是,如何得到测距一共划了多少个点?
for i:=1 to pts.Count-1 do
begin
pt1:=pts.Item(i);
pt2:=pts.Item(i+1);
distance:=self.Map1.Distance(pt1.X,pt1.Y,pt2.X,pt2.Y );
dissum:=dissum+distance; end; end; end;
我的代码有问题,请高人帮忙,指点迷津,谢谢!procedure TForm1.FormCreate(Sender: TObject);
begin
//添加测距工具
self.Map1.CreateCustomTool(tooldistance,miToolTypePoly,miCrossCursor);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
//加上这句,将出现测距的虚线,工具切换到测距状态
self.Map1.CurrentTool:=tooldistance;
end;procedure TForm1.Map1PolyToolUsed(Sender: TObject; ToolNum: Smallint;
Flags: Integer; const Points: IDispatch; bShift, bCtrl: WordBool;
var EnableDefault: WordBool);
var
pts:CMapxPoints;
i:integer;
pt1:CMapxPoint;
pt2:CMapxPoint;
//相临两点之间的直线距离
distance:double;
//起点和终点的距离
dissum:double;
begin
dissum:=0;if ToolNum=tooldistance then
begin
//从这里开始出现迷惑
//for以下的语句有问题,我不清楚的是,如何得到测距一共划了多少个点?
for i:=1 to pts.Count-1 do
begin
pt1:=pts.Item(i);
pt2:=pts.Item(i+1);
distance:=self.Map1.Distance(pt1.X,pt1.Y,pt2.X,pt2.Y );
dissum:=dissum+distance; end; end; end;
解决方案 »
- 多次打开报表出错的问题
- edit如为空或不为数字时为0
- 超级难题,关于csv表的问题,解决了立即给分,不够再加
- 直接拖几个RadioButton到Form上,发现也能互斥?那RadioGroup意义何在?
- 一个关于图形和文字的问题,请教各位大侠!
- 高难度问题,高手请进,控件版本问题,解决再送300分
- 【大家帮个忙,我想中台电脑】
- 请问DELPHI7.0的打印组件是什么,我觉得6.0不是有一个QReport组件吗,7.0怎么没有了啊?
- 痛苦~高手指教,指针问题-----在线等待,亟待解决
- 精彩专题,不能不看《微软 vs Sun》!!!
- 如何区分键盘输入与键盘口式条码扫描器输入?
- 改变绘图的映射方式
这个参数就是画线的点集合,数量就是pts.Count-1