阅读:5030回复:19
画轨迹点
<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> |
|
1楼#
发布于:2004-09-06 10:54
源代码没有,只能提供思路,把经纬度转换为Map控件坐标系的点,不就OK啦!
|
|
|
2楼#
发布于:2004-09-06 11:07
<P>谢谢您的回复!</P><P>我就是不知道该如何转换为Map控件坐标系的点啊?代码怎样写啊?</P>
|
|
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 |
|
|
4楼#
发布于:2004-09-08 12:21
<P>楼上的方法不行</P><P>我现在需要的效果是:</P><P>在没有加载地图的情况下,根据GPS的经纬度来画轨迹点</P><P>请问要如何做?谢谢</P>
|
|
5楼#
发布于:2004-09-08 12:42
<P>你想实现的应该是在trackinglayer上画点</P><P>map1.TrackingLayer.AddEvent 可以实现</P><P>也可以用Gis说的得到points然后drawshape</P>
|
|
6楼#
发布于:2004-09-08 15:39
<P>是在trackinglayer上画,但不知该怎么做。</P><P>我用tomappoint函数转换了经纬度,但画的点在MO上要么显示不出来,要么就是都显示在左上角上,不能显示成一条GPS行走的轨迹路线</P><P>如果我加载了地图后,不用tomappoint函数就可以直接用经纬度画点并在地图上相应位置上显示</P><P>请问这要如何解决?</P><P>谢谢各位的答复</P>
|
|
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>
|
|
8楼#
发布于:2004-09-09 10:12
实在不好意思,还是搞不懂该怎么做
|
|
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 |
|
|
上一页
下一页