当前位置: 代码迷 >> GIS >> VC+MapX 在临时图层中添加点图元,该如何解决
  详细解决方案

VC+MapX 在临时图层中添加点图元,该如何解决

热度:388   发布时间:2016-05-05 06:39:05.0
VC+MapX 在临时图层中添加点图元
C/C++ code
        //创建点图元    CMapXPoint point;    point.Set(m_dMapXX,m_dMapXY);    //创建图元样式    CMapXStyle style;    style.SetSymbolType(miSymbolTypeBitmap);    style.SetSymbolBitmapName(_T("camera.bmp"));    //设置MapX不进行自动更新    m_ctrlMapX.SetAutoRedraw(FALSE);    //设置图层可写    pLayer->SetEditable(TRUE);    //创建特征对象    VARIANT varPoint;    VARIANT varStyle;    varPoint.vt = VT_DISPATCH;    varPoint.pdispVal = point.m_lpDispatch;    varStyle.vt = VT_DISPATCH;    varStyle.pdispVal = style.m_lpDispatch;    CMapXFeatureFactory factory;    CMapXFeature feature = factory.CreateSymbol(varPoint,varStyle);    //添加到图层    pLayer->AddFeature(feature);    pLayer->Refresh();    //设置MapX进行自动更新    m_ctrlMapX.SetAutoRedraw(TRUE);    //设置图层不可写    pLayer->SetEditable(FALSE);

这是我照网上的一个例子仿的
执行pLayer->AddFeature(feature);时发生了异常
调试运行的时候,发现point和style两个对象的m_lpDispatch属性都是0
不知道这两个属性是什么意思?

和VARIANT互相转换的时候,是这样做的么?
先谢过了

------解决方案--------------------
设置图层的label字段是你的图层的数据的某个字段。你光指定AutoLabel为TRUE了,没指定显示哪个字段的数据,当然不行了。
自己看看MapX自带的PDF文档,里面有说明。
  相关解决方案