阅读:4445回复:15
请问高人如何在地图中显示汽车(或者亮点)并让它移动?
<TABLE cellSpacing=0 cellPadding=0 width="99%" align=center border=0>
<TR> <TD width="100%" bgColor=#fafafa>请问如何在地图中显示汽车(或者用亮点代表汽车)并让它在地图中移动?最好用VB+mapx</TD> <TD width=16 background=images/8esky/center_r.gif></TD></TR> <TR> <TD width=14 background=images/8esky/center_l.gif></TD></TR></TABLE> |
|
1楼#
发布于:2004-11-02 21:57
<P>跟楼主一样的问题</P><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
|
|
2楼#
发布于:2004-11-02 22:00
恳求达人不吝赐教
|
|
3楼#
发布于:2004-11-03 11:26
不能沉啊,急救啊!
|
|
4楼#
发布于:2004-11-03 17:07
请大人们看看这段代码,这是在地图中显示汽车的代码:(没问题)
Private Sub Form_Load() car End Sub <P>Private Sub car() Dim G_CarLayer As MapXLib.Layer Dim fMapSymbol As MapXLib.Feature dxpos = Map1.CenterX dypos = Map1.CenterY fNewSymbol.Attach Map1 Set G_CarLayer = Map1.Layers.CreateLayer("Cars", , 1) Set Map1.Layers.AnimationLayer = G_CarLayer With Map1.DefaultStyle .SymbolFont = "custom symbols" .SymbolType = 1 .SymbolBitmapName = "TAXI1-32.BMP" .SymbolBitmapSize = 24 .SymbolBitmapTransparent = True End With fNewSymbol.Type = miFeatureTypeSymbol fNewSymbol.Style = Map1.DefaultStyle fNewSymbol.Point.Set dxpos, dypos Set fMapSymbol = G_CarLayer.AddFeature(fNewSymbol) End Sub</P><P> 以下是通过按钮实现汽车纵向移动的代码(有问题),请达人看看哪有问题 Private Sub Command8_Click() dypos = dypos + 0.001 fNewSymbol.Point.Set dxpos, dypos Map1.Layers(1).Refresh End Sub</P> |
|
5楼#
发布于:2004-11-03 21:35
<P>楼主,看不懂啊</P><P>能否加些注释?</P>
|
|
6楼#
发布于:2004-11-04 12:07
<P>看一下帮助文件,动态图层的内容可以实现</P><img src="images/post/smile/dvbbs/em01.gif" />
|
|
7楼#
发布于:2004-11-04 12:14
<P 12pt 0cm 0pt"><FONT face=黑体 size=3>动态图层</FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=2><FONT face=Times>Animation </FONT>图层在地图图元需要经常更新(例如在实时应用时)时很有用。例如,可以开发一套汽车管理应用程序,汽车用一个点对象来代表。<FONT face=Times> </FONT>可以通过使用<FONT face=Times> GPS</FONT>(全球卫星定位)技术获取汽车的当前位置,然后更新点对象以显示汽车在地图上的更新位置。在这类应用程序中,如果被更新的对象存储在动态图层而不是常规图层,那么在地图对象经常改变的地方,地图可以更快地重新绘制。</FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=2>最初,<FONT face=Times>AnimationLayer </FONT>设置为<FONT face=Times> null</FONT>。可以向<FONT face=Times> Layer </FONT>对象分派属性以使图层成为动态图层(它可以是常规图层或是用户绘制图层)。当图层被分派了<FONT face=Times> AnimationLayer </FONT>属性,它就会绘制在所有图层的上方,包括<FONT face=Times> Annotations </FONT>图层和选择结果。该图层仍然在<FONT face=Times> Layers </FONT>集合中的同样位置。浮动对象如图标符号仍然显示在动态图层的顶端,尽管它们因为被省略了而不必每次重新绘制。如果普通的图层被用作动态图层,其选择结果和标注会依然有效。</FONT></P><H3 6pt 0cm 0pt 42.55pt"><FONT face="宋体, MS Song">示例</FONT></H3><P 0cm 10pt 0pt"><FONT face=Helvetica><FONT size=2>Set Map.Layers.AnimationLayer = Layers(3)<p></p></FONT></FONT></P><P 0cm 10pt 0pt; TEXT-INDENT: 20.25pt"><FONT face=Helvetica><FONT size=2>for each lyr in Map.Layers<p></p></FONT></FONT></P><P 0cm 10pt 0pt; TEXT-INDENT: 20.25pt"><FONT face=Helvetica><FONT size=2>if Map.Layers.AnimationLayer = lyr then<p></p></FONT></FONT></P><P 0cm 10pt 0pt; TEXT-INDENT: 20.25pt"><FONT face=Helvetica><FONT size=2>... <p></p></FONT></FONT></P><P 0cm 10pt 0pt; TEXT-INDENT: 20.25pt"><FONT face=Helvetica><FONT size=2>end if<p></p></FONT></FONT></P><P 0cm 10pt 0pt; TEXT-INDENT: 20.25pt"><FONT face=Helvetica size=2>next</FONT></P><P 0cm 0cm 0pt"><FONT size=2>要关闭动态图层,给它赋予空值:</FONT></P><H5 0cm 0cm 0pt"><FONT face="Courier New">Set Map.Layers.AnimationLayer = nothing</FONT></H5>这样使该图层变回普通图层,且其在图层列表中的位置不变。<img src="images/post/smile/dvbbs/em08.gif" />
|
|
8楼#
发布于:2004-11-04 14:53
<a href="http://www.gisempire.com/bbs/dispbbs.asp?BoardID=42;ID=24303" target="_blank" >http://www.gisempire.com/bbs/dispbbs.asp?BoardID=42;ID=24303</A>
|
|
|
9楼#
发布于:2004-11-04 16:16
<P>请问下面这行代码是什么意思啊?</P><P>fNewSymbol.Attach Map1</P><P>
</P><img src="images/post/smile/dvbbs/em12.gif" /><img src="images/post/smile/dvbbs/em12.gif" /><img src="images/post/smile/dvbbs/em12.gif" /> |
|
上一页
下一页