mapx在指定点画图

11 篇文章 0 订阅

以下代码演示了当鼠标按下时,在按下的点处画一个图片

void  CAddBasicResourceTool::OnMouseDownMap( short  Button,  short  Shift,  float  X,  float  Y)
{

 CMapXFeature ftr;

 CMapXStyle style;


 
if  (  ! m_pView )  return  ;

 
float  screenX,screenY ;
 
double  mapX,mapY ;

 screenX 
=  X;
 
 screenY 
=  Y; 

 CHtMapX 
&  m_MapX  =  m_pView -> GetMapX() ;

 
if  ( m_MapX.GetCurrentTool()  ==  MAP_ADDBASICRESOURCE_TOOL ) {
  
  
if  (ftr.CreateDispatch(ftr.GetClsid())){

   ftr 
=  m_MapX.GetFeatureFactory().CreateSymbol() ;

   style 
=  ftr.GetStyle() ;

   style.SetSymbolBitmapName(
" CAR1-32.BMP " );

   style.SetSymbolBitmapSize( 
32  );

   style.SetSymbolBitmapTransparent( TRUE ) ;

   ftr.SetStyle( style ) ;

   m_MapX.ConvertCoord(
& screenX, & screenY, & mapX, & mapY,miScreenToMap);
  
   ftr.GetPoint().Set( mapX , mapY ) ;

   
if  (  ! m_MapX.LayerExist( " tmp " ) ) {

    m_MapX.GetLayers().CreateLayer( 
" tmp "  ,  " layertmp "  ) ;
   }
   
   m_MapX.GetLayers().Item(
" tmp " ).AddFeature( ftr ) ;

  }
 } 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值