请问这个应该怎么写

stlouisy 2007-05-10 09:50:03
procedure TForm1.Map1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
P1 : MapObjects2_TLB.Point;
begin
P1 := Map1.ToMapPoint(X,Y);
StatusBar1.Panels.Items[2].Text := Format('经度=%.4f,纬度=%.4f',[(P1.X+1100782.530)*0.01099,(P1.Y+582812.204)*0.005277]);//鼠标掠过时显示坐标
end;



procedure TForm1.Map1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
tl : IMoTrackingLayer;
begin
tl := Map1.Trackinglayer;
if SpeedButton1.down =true then
begin
pt := IMoPoint(CreateOleObject('MapObjects2.Point'));//这里是话点的代码
pt :=Map1.ToMapPoint(x,y);
tl.AddEvent(pt,0);
end
else
begin
if (Button = mbLeft) then
Map1.Extent := Map1.TrackRectangle
else
Map1.Pan;
end;
end;



Edit4.text和Edit5.text 显示的是接收到的经度纬度,格式都是=%.4f和MouseMove的一样,用的是mo2.3,请问如何把Edit4.text和Edit5.text在地图的相应位置画个点, 用一个buttenclick实现?
...全文
211 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongfancheng 2007-05-10
  • 打赏
  • 举报
回复
先转化成两个实数,作为参数传递到MapObjects中
jiazhongyou 2007-05-10
  • 打赏
  • 举报
回复
要说明白点吧,你是说把EDIT4.TEXT和EDIT5.TEXT里值当作坐标值在MAP1中画点吧!这样得话要用一个坐标转换函数转一下就可以在MAP中画了.MapObjects对象里有这个函数的.

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧