请教一下专家问题:
在Delphi和mapx开发GIS系统中,我遇到这样一个问题,一直困扰我?
我想实现在mapx1地图窗口中先动态显示多个车辆(比较容易实现),当一辆车位置发生变化时,要先将原先车辆位置中的车符号删除,然后在新定位的地方重新加上车辆符号,并最好能在地图上显示车辆的运动轨迹。
我的思路是:设置一个ListBox控件,里面存储所有添加车辆信息(ID:车牌号,如1:川A-65213),先读取车牌号信息放入一个变量中,然后读取新加车辆车牌号码,判断是否与第一个车辆相同,如果相同就删除原先车辆位置图标,在新位置定位显示出这辆车,实现了车辆的动态显示,但是不知道该如何实现在地图上画出该车辆的运动轨迹呢?如果是多个车辆行驶又该如何解决?

解决方案 »

  1.   

    CMapXFeature可以更新位置不用重新创建
    var
      ftr: CMapXFeature;
    ........
      ftr.Point.Set_(newLng, newLat);
      ftr.Update(ftr, EmptyParam);
      

  2.   

    MapX的基础问题建议去看看MapX开发人员手册,网上有pdf下载,里面"MapX对象模型"那一章叙述了MapX中各种对象各种方法属性的运用.
      

  3.   

    以前我是这么实现的,在地图上添加一个图标,并赋值经纬度,车辆移动以后只要刷新地图就可以实现图标的移动了。
    如果用连线函数讲两点之间连接,平滑,就能够显示处它的轨迹。多个车辆不影响,可以并发处理。如果使用listbox来联结两者,可以通过图元的ID号来实现,具体什么函数已经记不得了,要是需要代码的话给我发邮件吧。[email protected]