⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.frm

📁 gps and supermap VB编程方法
💻 FRM
字号:
VERSION 5.00
Object = "{03ED3B1E-ED1B-4A2E-8FE3-D8D1A673F5D4}#5.2#0"; "SuperMap.ocx"
Begin VB.Form frmMain 
   Caption         =   "GPS"
   ClientHeight    =   4875
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   7830
   Icon            =   "frmMain.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   ScaleHeight     =   4875
   ScaleWidth      =   7830
   StartUpPosition =   2  'CenterScreen
   Begin SuperMapLib.SuperWorkspace SuperWorkspace1 
      Left            =   2340
      Top             =   2160
      _Version        =   327682
      _ExtentX        =   847
      _ExtentY        =   847
      _StockProps     =   0
   End
   Begin SuperMapLib.SuperMap SuperMap1 
      Height          =   4335
      Left            =   0
      TabIndex        =   8
      Top             =   540
      Width           =   7815
      _Version        =   327682
      _ExtentX        =   13785
      _ExtentY        =   7646
      _StockProps     =   160
   End
   Begin VB.Timer Timer1 
      Enabled         =   0   'False
      Interval        =   500
      Left            =   3300
      Top             =   2430
   End
   Begin VB.Frame Frame3 
      Height          =   555
      Left            =   30
      TabIndex        =   0
      Top             =   -75
      Width           =   6690
      Begin VB.CommandButton btnStartTrcak 
         Caption         =   "GPS跟踪"
         Height          =   360
         Left            =   5685
         TabIndex        =   7
         Top             =   150
         Width           =   945
      End
      Begin VB.CommandButton btnRefresh 
         Caption         =   "刷新"
         Height          =   360
         Left            =   3810
         TabIndex        =   6
         Top             =   150
         Width           =   930
      End
      Begin VB.CommandButton btnviewEntire 
         Caption         =   "全幅"
         Height          =   360
         Left            =   4740
         TabIndex        =   5
         Top             =   150
         Width           =   945
      End
      Begin VB.CommandButton btnSelect 
         Caption         =   "选择"
         Height          =   360
         Left            =   60
         TabIndex        =   4
         Top             =   150
         Width           =   930
      End
      Begin VB.CommandButton btnPan 
         Caption         =   "漫游"
         Height          =   360
         Left            =   2880
         TabIndex        =   3
         Top             =   150
         Width           =   930
      End
      Begin VB.CommandButton btnZoomOut 
         Caption         =   "缩小"
         Height          =   360
         Left            =   1935
         TabIndex        =   2
         Top             =   150
         Width           =   945
      End
      Begin VB.CommandButton btnZoomIn 
         Caption         =   "放大"
         Height          =   360
         Left            =   990
         TabIndex        =   1
         Top             =   150
         Width           =   945
      End
   End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'=====================================SuperMap Objects示范工程说明=======================================
'
'功能简介:示范SuperMap Objects中的跟踪功能:GPS跟踪,每两点之间有一定的时间停顿
'所用控件:SuperMap控件、SuperWorkspace控件
'所用数据:..\Data\world\world.sdb和world.sdd文件
'操作说明:
'         点击"GPS跟踪"按钮,即可开始随机跟踪。每两点之间的时间停顿在0.5秒;
'         点击"STOP跟踪"按钮,即可停止随机跟踪。
'
'===================================SuperMap Objects示范工程说明结束=====================================

Option Explicit

Public Function PathToName(ByVal strPath As String) As String
'=====================================================
'自定义函数,将文件全路径名转化为文件名(无路径名,无扩展名)
'=====================================================
    Dim iLength As Integer      '字符串长度
    Dim i As Integer
    Dim strTemp As String
    Dim strTemp1 As String
    Dim iPosition As Integer
    
    iPosition = 999
    If InStr(strPath, ".") <> 0 Then
        strTemp = Left(strPath, Len(strPath) - 4)
    Else
        strTemp = strPath
    End If
    
    iLength = Len(strTemp)
    For i = Len(strPath) To 1 Step -1
        If Mid$(strTemp, i, 1) = "\" Then
            iPosition = i
            Exit For
        End If
    Next
    If iPosition = 999 Then
        PathToName = strTemp
    Else
        PathToName = Right(strTemp, iLength - iPosition)
    End If
End Function

Private Sub btnPan_Click()
    SuperMap1.Action = scaPan
End Sub

Private Sub btnRefresh_Click()
    SuperMap1.Refresh
End Sub

Private Sub btnSelect_Click()
    SuperMap1.Action = scaSelect
End Sub

Private Sub btnviewEntire_Click()
    SuperMap1.ViewEntire
End Sub

Private Sub btnZoomIn_Click()
    SuperMap1.Action = scaZoomIn
End Sub

Private Sub btnZoomOut_Click()
    SuperMap1.Action = scaZoomOut
End Sub

Private Sub btnStartTrcak_Click()
    If btnStartTrcak.Caption = "GPS跟踪" Then         '开始跟踪
        btnStartTrcak.Caption = "停止跟踪"
        Timer1.Enabled = True
    Else                                              '停止跟踪
        btnStartTrcak.Caption = "GPS跟踪"
        Timer1.Enabled = False
    End If
End Sub

Private Sub Form_Load()
    SuperMap1.Connect SuperWorkspace1.Object
    
    Dim objDS As soDataSource
    Dim objDt As soDataset
    Dim strDsName As String
    Dim strDsAlias As String
    Dim i As Integer
    
    strDsName = App.Path & "\..\Data\world\world.sdb"
    strDsAlias = PathToName(strDsName)
    Set objDS = Me.SuperWorkspace1.OpenDataSource(strDsName, strDsAlias, sceSDBPlus, True)
    If objDS Is Nothing Then
        MsgBox "数据源打开失败!", vbInformation
    Else
        Set objDt = objDS.Datasets.Item("world")
        If Not objDt Is Nothing Then
            SuperMap1.Layers.AddDataset objDt, True
            SuperMap1.Refresh
        End If
    End If
    
    SuperMap1.Action = scaSelect
    
    '初始化随机数
    Randomize
    Rnd
End Sub

Private Sub Form_Resize()
    On Error Resume Next
    SuperMap1.Width = Me.Width
    SuperMap1.Height = Me.Height - 850
End Sub

Private Sub Form_Unload(Cancel As Integer)
    SuperMap1.Close
    SuperMap1.Disconnect
    SuperWorkspace1.Close
End Sub

Private Sub Timer1_Timer()
    Dim objdst As soDataset
    
    Set objdst = SuperMap1.Layers(1).Dataset
    If Not objdst Is Nothing Then
        Location CoordinateX(objdst, SuperMap1), CoordinateY(objdst, SuperMap1), SuperMap1
    End If
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -