一.  在指定位置处创建图元

 
  
  1. //×××和飞机的位置  
  2. typedef struct _Position  
  3. {  
  4.     double       m_longtidude;        //经度  
  5.     double       m_latitude;          //纬度  
  6.     bool         flag;                //标识位  
  7.       
  8. } Position;  
  9.  
  10. //设置×××位置        
  11. void   CLmtestView::SetMissilePositon(Position mlePst)  
  12. {  
  13.     //在指定的位置处增加×××图标  
  14.               
  15.     CMapXFeature ftr;  
  16.     if(!ftr.CreateDispatch (ftr.GetClsid ()))  
  17.     {  
  18.           
  19.         TRACE(_T("SetMissilePositon FAILED\n"));  
  20.           
  21.     }  
  22.     try 
  23.     {  
  24.         ftr.Attach (m_map.GetDispatch ());        
  25.         //设置风格  
  26.         CMapXStyle style=ftr.GetStyle ();  
  27.         style.SetSymbolType(miSymbolTypeBitmap);  
  28.         style.SetSymbolBitmapSize (24);  
  29.         style.SetSymbolBitmapTransparent (TRUE);  
  30.         style.SetSymbolBitmapName(_T("MISSILE.BMP"));  
  31.         ftr.GetPoint ().Set(mlePst.m_longtidude, mlePst.m_latitude); //设置经纬度  
  32.         ftr=m_missileLayer.AddFeature(ftr);//此处语法奇怪 必须返回值 无资料可查  
  33.         m_map.Refresh ();  
  34.     }  
  35.     catch(COleDispatchException *e)  
  36.     {  
  37.         e->ReportError();  
  38.         e->Delete();  
  39.           
  40.     }  
  41.     catch(COleException *e)  
  42.     {  
  43.         e->ReportError();  
  44.         e->Delete();  
  45.           
  46.     }