ZHYP
路人甲
路人甲
  • 注册日期2003-12-11
  • 发帖数27
  • QQ
  • 铜币205枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:4554回复:19

画轨迹点

楼主#
更多 发布于:2004-09-03 15:08
<P>我用VB+MAPOBJECT开发,现在我要实现以下功能:</P>
<P>有一系列的GPS测到的经纬度数据,是“度”的格式,如经度=116.30345;纬度=23.59275,</P>
<P>请问我要怎样才能根据这些经纬度数据在MO上画出轨迹点?也就是根据经纬度来画点。需要详细的完整代码,因为我是第一次用MO,实在不知如何入手。</P>
<P>希望能给个完整的源码,我的EMAIL:<a href="mailtzhyp2003@tom.com" target="_blank" >zhyp2003@tom.com</A></P>
<P>谢谢!!!!!!!!!!!!!!!!</P>
喜欢0 评分0
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-09-06 10:54
源代码没有,只能提供思路,把经纬度转换为Map控件坐标系的点,不就OK啦!
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
ZHYP
路人甲
路人甲
  • 注册日期2003-12-11
  • 发帖数27
  • QQ
  • 铜币205枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-09-06 11:07
<P>谢谢您的回复!</P><P>我就是不知道该如何转换为Map控件坐标系的点啊?代码怎样写啊?</P>
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
3楼#
发布于: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
举报 回复(0) 喜欢(0)     评分
ZHYP
路人甲
路人甲
  • 注册日期2003-12-11
  • 发帖数27
  • QQ
  • 铜币205枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-09-08 12:21
<P>楼上的方法不行</P><P>我现在需要的效果是:</P><P>在没有加载地图的情况下,根据GPS的经纬度来画轨迹点</P><P>请问要如何做?谢谢</P>
举报 回复(0) 喜欢(0)     评分
ryx32
路人甲
路人甲
  • 注册日期2003-08-05
  • 发帖数457
  • QQ
  • 铜币4046枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于: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个
6楼#
发布于: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个
7楼#
发布于: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个
8楼#
发布于:2004-09-09 10:12
实在不好意思,还是搞不懂该怎么做
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于: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)     评分
上一页
游客

返回顶部