VC+MapX 在临时图层中添加点图元,该如何解决
VC+MapX 在临时图层中添加点图元
这是我照网上的一个例子仿的
执行pLayer->AddFeature(feature);时发生了异常
调试运行的时候,发现point和style两个对象的m_lpDispatch属性都是0
不知道这两个属性是什么意思?
和VARIANT互相转换的时候,是这样做的么?
先谢过了
------解决方案--------------------
设置图层的label字段是你的图层的数据的某个字段。你光指定AutoLabel为TRUE了,没指定显示哪个字段的数据,当然不行了。
自己看看MapX自带的PDF文档,里面有说明。
- 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文档,里面有说明。