1. void   CLmtestView::DrawLine(CMapXLayer* layer, Position startPoint, Position endPoint)//画轨迹线  
  2. {  
  3.     CMapXStyle lineSty;   //线图元  
  4.       
  5.     COleVariant vt;  
  6.     vt.vt=VT_DISPATCH;  
  7.       
  8.     CMapXFeature newFeature;    //新建图元  
  9.       
  10.     CMapXPoint pt;               //点图元  
  11.     CMapXPoints pts;             //点集合  
  12.     pt.CreateDispatch(pt.GetClsid());  
  13.     pts.CreateDispatch(pts.GetClsid());  
  14.       
  15.       
  16.     pts.RemoveAll();  
  17.     pt.Set(startPoint.m_longtidude, startPoint.m_latitude);   //线的起点  
  18.     pts.Add(pt);  
  19.     pt.Set(endPoint.m_longtidude,endPoint.m_latitude);        //线的终点  
  20.     pts.Add(pt);  
  21.       
  22.     vt.pdispVal=pts.m_lpDispatch;  
  23.     vt.pdispVal->AddRef();//此句不可缺  
  24.       
  25.     CMapXFeature sidefeature=m_map.GetFeatureFactory().CreateLine(vt);  //创建线图元  
  26.  
  27.     lineSty=sidefeature.GetStyle();  //设置线图元的风格  
  28.     lineSty.SetLineColor(miColorBlue);  
  29.     lineSty.SetLineStyle(36);  
  30.     sidefeature.SetStyle(lineSty.m_lpDispatch);  
  31.     sidefeature=(*layer).AddFeature(sidefeature);  //将创建的图元加入到图层中  
  32.     sidefeature.Update();  
  33.     long sid=sidefeature.GetFeatureID();//过去图元的ID号,此ID号只能读,不能写  
  34.     m_sidearray.Add(sid);  //该数组保存着线图元的ID号  
  35.     m_map.Refresh();          
  36. }