一. 在指定位置处创建图元
- //×××和飞机的位置
- typedef struct _Position
- {
- double m_longtidude; //经度
- double m_latitude; //纬度
- bool flag; //标识位
- } Position;
- //设置×××位置
- void CLmtestView::SetMissilePositon(Position mlePst)
- {
- //在指定的位置处增加×××图标
- CMapXFeature ftr;
- if(!ftr.CreateDispatch (ftr.GetClsid ()))
- {
- TRACE(_T("SetMissilePositon FAILED\n"));
- }
- try
- {
- ftr.Attach (m_map.GetDispatch ());
- //设置风格
- CMapXStyle style=ftr.GetStyle ();
- style.SetSymbolType(miSymbolTypeBitmap);
- style.SetSymbolBitmapSize (24);
- style.SetSymbolBitmapTransparent (TRUE);
- style.SetSymbolBitmapName(_T("MISSILE.BMP"));
- ftr.GetPoint ().Set(mlePst.m_longtidude, mlePst.m_latitude); //设置经纬度
- ftr=m_missileLayer.AddFeature(ftr);//此处语法奇怪 必须返回值 无资料可查
- m_map.Refresh ();
- }
- catch(COleDispatchException *e)
- {
- e->ReportError();
- e->Delete();
- }
- catch(COleException *e)
- {
- e->ReportError();
- e->Delete();
- }
- }