gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:3229回复:12

MapX编程指南 -----如何实现测距

楼主#
更多 发布于:2003-07-28 11:45
a.//创建测距工具
     global const calculatedistance=1
     Private Sub Form_Load()
       map1.CreateCustomTool(calcilatedistance,miToolTypepoly ,microsscursor)
     End Sub
     Private Sub Distances_Click()
       map1.currenttool=calculatetool
     End Sub

b.//在mapx的PolyToolUsed事件中,
   用Distance( x1,y1,x2,y2 )计算距离,由状态条中或label显示。
Private Sub Map1_PolyToolUsed(ByVal ToolNum As Integer, ByVal Flags As Long, ByVal points As Object, ByVal bShift As Boolean, ByVal bCtrl As Boolean, EnableDefault As Boolean)
    
    Dim DisSum As Double
    Dim Dis As Double
    Dim n As Integer
    Dim pts As New MapXLib.points
    Dim x1 As Double, y1 As Double, x2 As Double, y2 As Double
        
   Set pts = points
    
    DisSum = 0
    MDIForm1.StatusBar1.Panels.Item(3).Text= Format(Str(DisSum), "#,##0.000000")

    Select Case Flags
        Case miPolyToolBegin
        Case miPolyToolInProgress
          If ToolNum = CalculateDistance Then
               For i = 1 To pts.Count - 1
                 x1 = pts.Item(i).X
                 y1 = pts.Item(i).Y
                 x2 = pts.Item(i + 1).X
                 y3 = pts.Item(i + 1).Y
                 Dis = Map1.Distance(x1, y1, x2, y2)
                 DisSum = DisSum + Dis
                 MDIForm1.StatusBar1.Panels.Item(3).Text = Format(Str(DisSum), "#,##0.000000")
               Next i
             End If

        Case miPolyToolEnd

End Select

喜欢0 评分0
终极无间
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
1楼#
发布于:2003-07-31 10:39
经典
是斑竹自己写的吧
举报 回复(0) 喜欢(0)     评分
sulin
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数158
  • QQ
  • 铜币501枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2003-07-31 17:58
我看的懂得的VB代码!
甘露!谢谢斑竹!
举报 回复(0) 喜欢(0)     评分
zhqcn
路人甲
路人甲
  • 注册日期2003-07-28
  • 发帖数68
  • QQ
  • 铜币286枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2003-08-01 13:57
谢谢!
举报 回复(0) 喜欢(0)     评分
yansike
路人甲
路人甲
  • 注册日期2003-07-30
  • 发帖数60
  • QQ
  • 铜币279枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2003-08-20 12:45
支持
举报 回复(0) 喜欢(0)     评分
再别康桥
路人甲
路人甲
  • 注册日期2003-08-16
  • 发帖数268
  • QQ
  • 铜币760枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2003-08-21 13:17
经典,好东东
轻轻的我一如天边的云 轻轻的走过你的身旁 在你的心中划下淡淡的痕 难忘 ------------------------------------- http://www.21trip.com 世纪之旅欢迎您!!
举报 回复(0) 喜欢(0)     评分
hsxljwht
路人甲
路人甲
  • 注册日期2004-10-06
  • 发帖数59
  • QQ
  • 铜币253枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-10-10 06:31
<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
ryx32
路人甲
路人甲
  • 注册日期2003-08-05
  • 发帖数457
  • QQ
  • 铜币4046枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-10-10 08:15
<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
qwertyu
路人甲
路人甲
  • 注册日期2004-10-06
  • 发帖数14
  • QQ
  • 铜币181枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-10-18 15:09
<P>MDIForm1.StatusBar1.Panels.Item(3).Text是什么啊?</P><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
千山暮雪
路人甲
路人甲
  • 注册日期2004-06-25
  • 发帖数87
  • QQ
  • 铜币352枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2004-10-18 15:18
是在窗口的状态条显示测量的长度!
你来自北京周口, 我来自云南元谋, 我拉着你毛茸茸的小手, 轻轻的咬上一口, 啊, 是爱情让我们直立行走!
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部