问题描述
- 用vc++开发MAPX地图加点画线出现问题!!! 5C
- 初学MAPX的菜鸟,求大神帮助啊啊啊!!!在已有的地图图层中增加两个条线。这两条线的端点的经纬度是由窗口输入的,算是动态建立。编写通过,但是运行时发现输入经纬度之后并没有在地图上应该的位置出现线。
贴出相关的代码:
HWND hWnd=::FindWindow(NULL_T(""xxxxx"")); //得到对话框的句柄
CTryDlg* pWnd= (CTryDlg*)CTryDlg::FromHandle(hWnd);
CMapXLayers allLr=pWnd->m_ctrlMapX.GetLayers(); //取得图层集合
CMapXLayer Lr=allLr.CreateLayer(""Stlayer""NULL 132);
CMapXStyle lineSty; //线图元COleVariant vt;
vt.vt=VT_DISPATCH;
CMapXFeature newFeature; //新建图元
CMapXPoint pt; //点图元
CMapXPoints pts; //点集合
pt.CreateDispatch(pt.GetClsid());
pts.CreateDispatch(pts.GetClsid());
pts.RemoveAll(); pt.Set(dlg.m_x1dlg.m_y1); //线的起点 pts.Add(pt); pt.Set(dlg.m_x2dlg.m_y2); //线的终点 pts.Add(pt); vt.pdispVal=pts.m_lpDispatch; vt.pdispVal->AddRef();//此句不可缺 CMapXFeatureFactory factory=pWnd->m_ctrlMapX.GetFeatureFactory();CMapXFeature sidefeature=factory.CreateLine(vt);
//创建线图元
lineSty=sidefeature.GetStyle(); //设置线图元的风格 lineSty.SetLineColor(miColorBlue); lineSty.SetLineStyle(36); sidefeature.SetStyle(lineSty.m_lpDispatch); Lr.AddFeature(sidefeature);Lr.Refresh(); //将创建的图元加入到图层中
解决方案
对于这种问题。问问百度吧
时间: 2024-11-04 16:22:39