ZHYP
路人甲
路人甲
  • 注册日期2003-12-11
  • 发帖数27
  • QQ
  • 铜币205枚
  • 威望0点
  • 贡献值0点
  • 银元0个
10楼#
发布于:2004-09-09 15:37
<P>请问楼上的:你的这段代码是关于MO的吗?我怎么找不到OnAfterDraw这个事件啊?</P><P>谢谢你的回复</P><P>以下代码:</P><P>Dim pt As MapObjects2.Point
Dim tl As MapObjects2.TrackingLayer
Private Sub sRePlay()
    Dim lngLoop As Long
    Dim bCenter As Boolean
    bCenter = False
    For lngLoop = 1 To lngRecAll - 1
        If bUnload Then Exit Sub
        Seek #ihFile, cTestPLFileHeaderLen + 1 + cTestPLFileRecordLen * (lngLoop)
        Get #ihFile, , wDataWdd
        With wDataWdd
            mNowdblLon = Val(.Lon)
            mNowdblLat = Val(.Lat)
            labInfo = "经度:" + .Lon + "--纬度:" + .Lat
            If mNowdblLon <> 0 And mNowdblLat <> 0 Then
                If Not bCenter Then
                    moMain.CenterAt mNowdblLon, mNowdblLat
                    bCenter = True
                End If
                
                Set pt = New MapObjects2.Point
                pt.x = mNowdblLon
                pt.y = mNowdblLat
                tl.AddEvent pt, 0
            End If
        End With
        DoEvents
    Next
    Close #ihFile
End Sub</P><P>在加载了地图文件(shp类型)后可以正常画出GPS所走的轨迹,但如果没有加载地图,也就是说MO上没任何图层的话,就不能画出轨迹,请问要如何做?</P><P>我用MAPX开发的话,不加载任何地图文件也一样可以画出GPS所走的轨迹,但现在用MO就不知要如何做了</P>
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
11楼#
发布于:2004-09-09 14:28
Private Sub MapControl1_OnAfterDraw(ByVal display As esriCore.IDisplay, ByVal phase As esriCore.esriViewDrawPhase)
   If (phase = esriViewForeground) Then
   Dim pElement As IElement
   Dim i As Integer
   For i = 0 To m_pElementcollection.Count - 1
       m_pElementcollection.QueryItem i, pElement
       MapControl1.DrawShape pElement.Geometry
   Next
   End If
End Sub
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
ZHYP
路人甲
路人甲
  • 注册日期2003-12-11
  • 发帖数27
  • QQ
  • 铜币205枚
  • 威望0点
  • 贡献值0点
  • 银元0个
12楼#
发布于:2004-09-09 10:12
实在不好意思,还是搞不懂该怎么做
举报 回复(0) 喜欢(0)     评分
ryx32
路人甲
路人甲
  • 注册日期2003-08-05
  • 发帖数457
  • QQ
  • 铜币4046枚
  • 威望0点
  • 贡献值0点
  • 银元0个
13楼#
发布于:2004-09-09 08:10
<P>tomappoint应该是把屏幕坐标转换为地图坐标</P><P>你要么用Gis说的得到points</P><P>如果显示点用map1.drawshape画出来</P><P>也可以用map1.trackinglayer.addevent一个个化(不知道有没有个数限制)</P><P>如果画线</P><P>dim ln as new mapojects2.line</P><P>ln.parts.add points</P><P>trackinglayer.addevent ln</P>
举报 回复(0) 喜欢(0)     评分
ZHYP
路人甲
路人甲
  • 注册日期2003-12-11
  • 发帖数27
  • QQ
  • 铜币205枚
  • 威望0点
  • 贡献值0点
  • 银元0个
14楼#
发布于:2004-09-08 15:39
<P>是在trackinglayer上画,但不知该怎么做。</P><P>我用tomappoint函数转换了经纬度,但画的点在MO上要么显示不出来,要么就是都显示在左上角上,不能显示成一条GPS行走的轨迹路线</P><P>如果我加载了地图后,不用tomappoint函数就可以直接用经纬度画点并在地图上相应位置上显示</P><P>请问这要如何解决?</P><P>谢谢各位的答复</P>
举报 回复(0) 喜欢(0)     评分
ryx32
路人甲
路人甲
  • 注册日期2003-08-05
  • 发帖数457
  • QQ
  • 铜币4046枚
  • 威望0点
  • 贡献值0点
  • 银元0个
15楼#
发布于:2004-09-08 12:42
<P>你想实现的应该是在trackinglayer上画点</P><P>map1.TrackingLayer.AddEvent  可以实现</P><P>也可以用Gis说的得到points然后drawshape</P>
举报 回复(0) 喜欢(0)     评分
ZHYP
路人甲
路人甲
  • 注册日期2003-12-11
  • 发帖数27
  • QQ
  • 铜币205枚
  • 威望0点
  • 贡献值0点
  • 银元0个
16楼#
发布于:2004-09-08 12:21
<P>楼上的方法不行</P><P>我现在需要的效果是:</P><P>在没有加载地图的情况下,根据GPS的经纬度来画轨迹点</P><P>请问要如何做?谢谢</P>
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
17楼#
发布于:2004-09-06 17:43
'建立一组点,进行跟踪
Dim pt As MapObjects2.Point
Set m_ptsTrack = New MapObjects2.Points
Set pt = New MapObjects2.Point
pt.Set -79.3062, 39.9254
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -79.0407, 39.5037
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -78.7127, 39.2694
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -78.291, 39.2694
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -77.8069, 39.4256
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -77.4008, 39.6599
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -77.026, 39.7536
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -76.6511, 39.6911
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -76.2763, 39.41
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -75.9483, 39.0196
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -75.839, 38.6916
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -75.511, 38.2855
m_ptsTrack.Add pt
Set pt = New MapObjects2.Point
pt.Set -75.3704, 37.9419
m_ptsTrack.Add pt
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
ZHYP
路人甲
路人甲
  • 注册日期2003-12-11
  • 发帖数27
  • QQ
  • 铜币205枚
  • 威望0点
  • 贡献值0点
  • 银元0个
18楼#
发布于:2004-09-06 11:07
<P>谢谢您的回复!</P><P>我就是不知道该如何转换为Map控件坐标系的点啊?代码怎样写啊?</P>
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
19楼#
发布于:2004-09-06 10:54
源代码没有,只能提供思路,把经纬度转换为Map控件坐标系的点,不就OK啦!
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
上一页 下一页
游客

返回顶部