当前位置: 代码迷 >> GIS >> mapx开发中位图在地图上显示的有关问题,为什么显示一个黑斑 麻烦各位大牛看一下 多谢了
  详细解决方案

mapx开发中位图在地图上显示的有关问题,为什么显示一个黑斑 麻烦各位大牛看一下 多谢了

热度:471   发布时间:2016-05-05 06:38:43.0
mapx开发中位图在地图上显示的问题,为什么显示一个黑斑 麻烦各位大牛看一下 谢谢了
我的代码如下:
  CMapXLayers Layers;
CMapXLayer Layer;
CMapXFeature ftr; 
CMapXFeatureFactory FeaFac;
Layers=m_CtrlMapX.GetLayers();
BOOL Flag=false;
for (int i=0;i<Layers.GetCount();i++)
{
Layer=Layers.Item(i+1);
if (Layer.GetName()=="linshi")
{
Flag=true;
break;
}
}
if (Flag==false)
{
CMapXLayer Lyr=m_CtrlMapX.GetLayers().CreateLayer("linshi");
m_CtrlMapX.GetLayers().SetAnimationLayer(Lyr);//设置为动态图层

}

CMapXLayers layers = m_CtrlMapX.GetLayers();  
try{  
if (ftr.CreateDispatch(ftr.GetClsid()))  
{  
ftr = m_CtrlMapX.GetFeatureFactory().CreateSymbol();  
CMapXStyle style = ftr.GetStyle(); //获得图元的风格  

//设置图元的风格,显示位图  
style.SetSymbolType(miSymbolTypeBitmap);  
//指定所要显示位图的存放位置  
style.SetSymbolBitmapName("CAR1-32.BMP");  
//指定位图大小  
style.SetSymbolBitmapSize(32);  
//设置为透明  
//style.SetSymbolBitmapTransparent(TRUE);  

//指定需要显示图元的位置(经纬度位置)  
ftr.GetPoint().Set(-100.9926,37.7282);  
layers.Item("linshi").AddFeature(ftr);  
}  
else  
{  
AfxThrowOleException(CO_E_CLASS_CREATE_FAILED);  
}  
}  

catch (COleDispatchException *e) {  
e->ReportError();  
e->Delete();  
}  
catch (COleException *e) {  
e->ReportError();  
e->Delete();  


这是网上的一个做法,别人编译通过了功能也实现了 为什么我的显示一个黑斑呢?请各位大牛看一下

------解决方案--------------------
能够显示一个黑点说明代码是正确的,请你确认CAR1-32.BMP这个文件是否存在或者路径是否正确
------解决方案--------------------
1楼看得很准,呵呵
  相关解决方案