11号摩托
路人甲
路人甲
  • 注册日期2007-09-27
  • 发帖数6
  • QQ
  • 铜币118枚
  • 威望0点
  • 贡献值0点
  • 银元0个
60楼#
发布于:2007-10-12 17:10
<P>自定义测距工具(PolyToolUsed事件)[转贴]</P>
<P><BR>//1.定义常量<BR>const<BR>MYTOOL_DISTANCE=100;</P>
<P>//2.创建工具<BR>procedure TForm1.FormCreate(Sender: TObject);<BR>begin<BR>Map1.CreateCustomTool(MYTOOL_DISTANCE, miToolTypePoly,miCrossCursor, EmptyParam, EmptyParam, EmptyParam);<BR>end;</P>
<P>//3.响应事件<BR>procedure TForm1.Map1PolyToolUsed(Sender: TObject; ToolNum: Smallint;<BR>Flags: Integer; const Points: IDispatch; bShift, bCtrl: WordBool;<BR>var EnableDefault: WordBool);<BR>var<BR>DisSum : Double ;<BR>i: Integer;<BR>x1, y1, x2 , y2: Double ;<BR>begin<BR>DisSum:=0;<BR>if Flags=miPolyToolInProgress then<BR>begin<BR>if ToolNum= MYTOOL_DISTANCE then<BR>begin<BR>for i:=1 to CMapXPoints(Points).Count-1 do<BR>begin<BR>x1:=CMapXPoints(Points).Item(i).X;//delphi其他版本可能是item,即换为方括号<BR>y1:=CMapXPoints(Points).Item(i).Y;<BR>x2:=CMapXPoints(Points).Item(i+1).X;<BR>y2:=CMapXPoints(Points).Item(i+1).Y;<BR>DisSum:=DisSum+Map1.Distance(x1,y1,x2,y2);<BR>end;<BR>Statusbar1.Panels[0].Text:=floattostr(dissum);<BR>end;//if<BR>end; //if<BR>end;</P>
<P>//4.调用工具<BR>procedure TForm1.cmdDistanceClick(Sender: TObject);<BR>begin<BR>map1.CurrentTool :=MYTOOL_DISTANCE;<BR>end;</P>

<P>可惜我总是出错</P>
举报 回复(0) 喜欢(0)     评分
rocsoar
路人甲
路人甲
  • 注册日期2005-01-14
  • 发帖数1
  • QQ
  • 铜币103枚
  • 威望0点
  • 贡献值0点
  • 银元0个
61楼#
发布于:2007-11-02 08:06
<P>请问高手,如何利用delphi和mapx实现输出地图的功能?</P>
<P>已知两个顶点的经纬度和输出地图的比例尺.</P>
<P>谢谢!</P>
举报 回复(0) 喜欢(0)     评分
khb2000
路人甲
路人甲
  • 注册日期2009-04-30
  • 发帖数1
  • QQ
  • 铜币104枚
  • 威望0点
  • 贡献值0点
  • 银元0个
62楼#
发布于:2009-05-25 00:13
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em04.gif" /><img src="images/post/smile/dvbbs/em05.gif" /><img src="images/post/smile/dvbbs/em06.gif" /><img src="images/post/smile/dvbbs/em07.gif" /><img src="images/post/smile/dvbbs/em08.gif" />
举报 回复(0) 喜欢(0)     评分
上一页 下一页
游客

返回顶部