参考部分 原创: 使用Mapx开发目标轨迹显示核心代码(VC++) 0 申明变量 CMapX m_ctrlMapX; CMapXLayer m_objLayer;//运动目标图层 CMapXLayer m_traceLayer;//目标轨迹层 CMapXLayer m_scaleBarLayer;//比例尺图层 CMapXFeature m_objFt; double m_lfCenterLon;//地图中心经度 double m_lfCenterLat;//地图中心纬度 CMapXFeature m_objTrackFt[MAXNUMINEMAP]; 1 创建地图控件 CRect rc; GetClientRect(&rc); m_ctrlMapX.Create(NULL,WS_VISIBLE, rc, this, IDC_MAP); m_ctrlMapX.SetCurrentTool(miPanTool); char GEOName[MAX_PATH]; GetCurrentDirectory(MAX_PATH,GEOName); strcat(GEOName,"\\map\\asia.gst"); m_ctrlMapX.SetGeoSet(GEOName);//设置地图名字 m_ctrlMapX.SetTitleText(""); m_ctrlMapX.SetMapUnit(miUnitKilometer);//设置地图单位 m_ctrlMapX.SetPaperUnit(miPaperUnitKilometer); m_scaleBarLayer = m_ctrlMapX.GetLayers().AddUserDrawLayer("比例尺", 1);//添加用户显示图层 m_ctrlMapX.SetAutoRedraw(TRUE); 2 创建目标轨迹层 m_objLayer = m_ctrlMapX.GetLayers().CreateLayer("目标",NULL, 1, 32); m_ctrlMapX.GetLayers().SetAnimationLayer(m_objLayer);//设置该层为动画图层 m_objLayer.SetSelectable(FALSE);//设置该层目标为不可选择 m_objLayer.SetAutoLabel(TRUE);//设置该层目标为自动标注 m_objLayer.GetLabel().SetLineType(miLineTypeNone);//设置标注线形 m_objLayer.GetLabel().SetPosition(miPositionTR);//设置标注位置 m_objLayer.GetLabel().SetOffset(2);//设置标注偏移量 m_objLayer.SetOverrideStyle(TRUE);//该层中所有Feature 使用相同的style,***关键点,使用不同的style 时,参数为 FALSE*** m_objLayer.GetLabel().GetStyle().SetTextFontColor(miColorRed);//设置标注颜色 m_objLayer.GetLabel().SetOverlap(TRUE);//允许标注覆盖 m_objLayer.GetStyle().GetSymbolFont().SetName("Mapinfo Symbols");//设置符号 feature 使用的字体 m_objLayer.GetStyle().SetSymbolCharacter(53);//设置符号 feature 使用的字符 m_objLayer.GetStyle().SetSymbolFontColor(RGB(255,0,0));//设置符号 feature使用的颜色 m_objLayer.GetStyle().SetLineWidth(1);//设置线形 feature 的线宽 m_objLayer.SetDrawLabelsAfter(TRUE);//...