阅读:2861回复:5
mapx显示比例尺的东东怎么做?
<P>mapx显示比例尺的东东怎么做?</P>
<P>要画在map上.</P> [此贴子已经被作者于2005-6-10 11:27:44编辑过]
|
|
|
1楼#
发布于:2005-07-03 17:03
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
2楼#
发布于:2005-08-08 10:27
en w我也想知道
|
|
3楼#
发布于:2006-03-08 13:04
up
|
|
|
4楼#
发布于:2006-03-12 15:56
<P>我有个算法,不知道对不对,是delphi的例子。</P>
<P>var<br>nPixel:integer;<br>DC:HDC;<br>X1,Y1,X2,Y2:double;<br>dist:double;<br>X,Y:Single;<br>begin<br> X:=10;<br> Y:=10;<br> Map1.ConvertCoord(X, Y, X1, Y1, miScreenToMap);<br> X:=11;<br> Y:=10;<br> Map1.ConvertCoord(X, Y, X2, Y2, miScreenToMap);<br> dist := Map1.Distance(X1, Y1, X2, Y2);//得到一个像素点在地图上的距离<br> DC:=GetDC(map1.Handle);<br> nPixel:=GetDeviceCaps(DC,LOGPIXELSX);//得出map控件上一英寸有多少像素。<br> //控件高和宽都是以像素为单位的,这样就可以得到一个像素点在控件上(也就是屏幕上)的距离是多少</P> <P>//一英寸等于2.54厘米。<br> dist:=dist*nPixel/2.54;<br> showmessage('1厘米:' + FormatFloat('0.00',dist) + '米');<br> ReleaseDC(map1.Handle,DC);<br> //不知道这种算法对不对<br>end;</P> [此贴子已经被作者于2006-3-19 12:14:15编辑过]
|
|
5楼#
发布于:2006-03-17 18:03
<P>你说的方法我用过了!确实比较实用!不过要注意屏幕坐标的方向</P><img src="images/post/smile/dvbbs/em11.gif" />
|
|