当前位置:编程学习 > 网站相关 >>

vb+mapx,使用refresh为什么刷新不了动态图层?

问题描述:经过简化后,我就是想实现动态图层的刷新,以便实时显示gps的当前位置。但是现在如论用object.refresh还是feature.update总是无法刷新。已经搞了整整两天了,快要崩溃了。希望大家帮帮忙,明天项目要开会。

代码如下:
Private Sub cmdGPS_Click()

Dim MobileFtr As New MapXLib.Feature
Dim pnt As New MapXLib.Point
Dim TempLayer As MapXLib.Layer

Set TempLayer = Map1.Layers.CreateLayer("tmpTrackLayer", , 1) '创建轨迹图层
Set Map1.Layers.AnimationLayer = TempLayer '将轨迹图层设为动态图层
TempLayer.Editable = True '图层可编辑

pnt.Set 116.3043, 40.086917  '读取经纬度数据
Set MobileFtr = Map1.FeatureFactory.CreateSymbol(pnt, Map1.DefaultStyle) '创建点图元
TempLayer.AddFeature MobileFtr '将点图元添加到轨迹图层

pnt.Set 116.307528, 40.089647 '我在程序里跟踪,这个地方的值已经改变
TempLayer.Refresh '这里就是刷新不了,点图元一直在第一个点的位置

End Sub --------------------编程问答-------------------- 我暂时没有分了 --------------------编程问答-------------------- 暂时只能加100分了,希望得到大家的帮助,我基本已经抓狂了! --------------------编程问答-------------------- 你是不是没有把feature加到图层里面去? --------------------编程问答-------------------- 应该是加入了,我一共赋了2次值,第一赋值的图元已经可以显示在图中,但是再赋值时,坐标已经变了,图元没动。
麻烦大家帮我看看原因,在此谢过。 --------------------编程问答-------------------- 问题还是没有解决,希望高人指点一二。 --------------------编程问答-------------------- 用map1.refresh()可以吗 --------------------编程问答-------------------- 已经尝试过map1.refresh(),也是不行。我实在是想不通为什么,麻烦大家再帮我看看。 --------------------编程问答-------------------- 接着顶!! --------------------编程问答-------------------- feature.update 应该可以的,我碰到过feature移动到新位置后,原先位置的对象不能完全擦除,最后从MapX5.0 降到 MapX4.0才好了。还有调用Map.Refresh 控件的Refresh可以彻底的刷新地图,应该管用! --------------------编程问答-------------------- 你是不是应该用 feature.point.set(X,Y)呀,然后feature.Update --------------------编程问答-------------------- update可行么?可以试试看! --------------------编程问答-------------------- 你在地图设置中有个图元的ID号码,当出现新的图元时候,老的图元要删除的,这个新图元ID号码会自动累加的,所以只要这个搞好了,不需要Refresh的。 --------------------编程问答--------------------
引用 12 楼 yangbin999288 的回复:
你在地图设置中有个图元的ID号码,当出现新的图元时候,老的图元要删除的,这个新图元ID号码会自动累加的,所以只要这个搞好了,不需要Refresh的。


请问你大哥,具体怎么实现啊,我也遇到了同样的问题,很着急啊
补充:企业软件 ,  地理信息系统
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,