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> |
|
61楼#
发布于:2007-11-02 08:06
<P>请问高手,如何利用delphi和mapx实现输出地图的功能?</P>
<P>已知两个顶点的经纬度和输出地图的比例尺.</P> <P>谢谢!</P> |
|
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" />
|
|
上一页
下一页