MapX画点
来源:互联网 发布:excel去除相同数据 编辑:程序博客网 时间:2024/06/05 16:54
由于MAPX是以组建的形式提供给我们,要在上面画点,就必须相应鼠标事件:
添加宏
ON_EVENT(CMapView, IDC_MAP, DISPID_MOUSEDOWN /* MouseDown */, OnMouseDownMap, VTS_I2 VTS_I2 VTS_R4 VTS_R4)
以及实现事件的处理函数
void CMapView::OnMouseDownMap(short Button, short Shift, float screenX, float screenY){ double mapX,mapY ; CMapXPoints pts ; CMapXPoint pt ; CMapXLayer layer ; pts.CreateDispatch( pts.GetClsid() ); //创建对象 pt.CreateDispatch( pt.GetClsid() ); //创建对象 screenX = X; screenY = Y; m_pMap->ConvertCoord(&screenX,&screenY,&mapX,&mapY,miScreenToMap); //屏幕坐标装换为地图坐标 pt.Set( mapX , mapY ) ; pts.Add(pt); //将点加入点集合//查找图层是否存在 if ( !m_pMap->LayerExist("tmpLayer") ) { layer = m_pMap->GetLayers().CreateLayer("tmpLayer"); } else{ layer = m_pMap->GetLayers().Item("tmpLayer"); } //获取图元工程对象,用于创建图元 CMapXFeatureFactory ff = m_pMap->GetFeatureFactory(); COleVariant vtPoints; vtPoints.vt = VT_DISPATCH; vtPoints.pdispVal = pts.m_lpDispatch; vtPoints.pdispVal->AddRef(); //创建多点图元,并加到指定的图层中 CMapXFeature fe = ff.CreateMultipoint( vtPoints ); layer.AddFeature( fe ) ;}
这样就实现了画点操作
- mapx 画点
- MapX画点
- MapX画线画点代码
- VC对话框+MapX 增加图层,画点 疑难
- MAPX的几点问题解决
- mapx 画矩形
- mapx
- Mapx加载gst文件,自定义图层,Mapx画自定义样式矩形,圆形,椭圆形
- MapX 简介
- MapX功能
- mapx 画线
- mapx 画圆
- mapx格式文件
- Mapx常见问题
- Mapx 画线
- Mapx打包
- MapX开发
- Qt-MapX
- exp导出分区表分区测试
- samba交叉编译
- eclipse内存溢出
- Mysql 通过中文查询数据查不出结果问题
- C++设计模式之二:Builder(生成器)
- MapX画点
- Ubuntu rar 乱码问题
- MinGW下编译openssl
- Java程序员从笨鸟到菜鸟之(六十)细谈Hibernate(十一)hibernate复合主键映射
- Linux wait函数解析
- 排序冲突 解决方案
- exec函数族的使用
- 针对Ruby on Rails开发的Emacs插件
- Qt4.6.3移植