• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 请各路大虾帮忙!vc中利用mapx50在指定点显示特定图元的问题!

请各路大虾帮忙!vc中利用mapx50在指定点显示特定图元的问题!

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了mapx50.dll,mapx50,mapx50.dll下载,油焖大虾,油焖大虾做法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请各路大虾帮忙!vc中利用mapx50在指定点显示特定图元的问题!
描述:

我正在学习利用vc实现mapx控件的功能,已经能够在vc的程序框架中实现地图显示,并且可以实现了放大、缩小、漫游以及图层控制等功能了。现在的问题是,希望能够在指定的位置(经纬度位置)上显示一个车辆图元!
   我编写了一些代码但是却看不到车辆图元,相反显示的是一块32*32的黑色矩形块!
CMapX m_ctrlMapX;
void CStep2View::OnToolTest() 
{
         CMapXLayers layers = m_ctrlMapX.GetLayers();
CMapXFeature ftr;
try{
if (ftr.CreateDispatch(ftr.GetClsid())) 
{
ftr = m_ctrlMapX.GetFeatureFactory().CreateSymbol();
CMapXStyle style = ftr.GetStyle(); //获得图元的风格
                            
                           //设置图元的风格,显示位图
style.SetSymbolType(miSymbolTypeBitmap);
                           //指定所要显示位图的存放位置
style.SetSymbolBitmapName("D:\\Program Files\\MapInfo\\MapX 5.0\\CUSTSYMB\\CAR1-32.BMP");
                           //指定位图大小
style.SetSymbolBitmapSize(32);
                           //设置为透明
style.SetSymbolBitmapTransparent(TRUE);
                           
                           //指定需要显示图元的位置(经纬度位置)
ftr.GetPoint().Set(106.580936, 29.561000);
layers.Item("871").AddFeature(ftr);
}
else
{
    AfxThrowOleException(CO_E_CLASS_CREATE_FAILED);
}
}
catch (COleDispatchException *e) {
e->ReportError();
e->Delete();
}
catch (COleException *e) {
e->ReportError();
e->Delete();
}
}
那位大虾晓得,在vc中如何利用mapx在指定位置显示特定的位图图元阿???请赐教!多谢!
在线等!!


解决方案1:

我来了。。。
顺便问个问题,为什么我在添加中文的时候出错?
CMapXPoint Pnt;
CMapXFeatureFactory FeaFac;
CMapXLayer lyr;
CMapXFeature ftr;
CMapXStyle NewStyle;
Pnt.CreateDispatch(Pnt.GetClsid());
ftr.CreateDispatch(ftr.GetClsid());
NewStyle.CreateDispatch(NewStyle.GetClsid());
lyr = m_ctrlMapX.GetLayers().Item("Customers");
FeaFac = m_ctrlMapX.GetFeatureFactory();
NewStyle.SetSymbolType(miSymbolTypeBitmap);
NewStyle.SetSymbolBitmapSize(24);
NewStyle.SetSymbolBitmapTransparent(TRUE);
NewStyle.SetSymbolBitmapName("STOP1-32.BMP");
m_ctrlMapX.SetAutoRedraw(FALSE);
lyr.SetEditable(TRUE);
Pnt.Set(m_dMapX, m_dMapY);
VARIANT vtPoint;
vtPoint.vt = VT_DISPATCH;
vtPoint.pdispVal = Pnt.m_lpDispatch;
VARIANT vtStyle;
vtStyle.vt = VT_DISPATCH;
vtStyle.pdispVal = NewStyle.m_lpDispatch;
lyr.SetAutoLabel(TRUE);
ftr = FeaFac.CreateSymbol(vtPoint, vtStyle);
lyr.SetKeyField("GEONAME");
ftr.SetKeyValue((LPCTSTR)sName);//此处添加label
lyr.AddFeature(ftr.m_lpDispatch);
lyr.Refresh();
// lyr.UpdateFeature(ftr,ftr);
m_ctrlMapX.SetAutoRedraw(TRUE);
lyr.SetEditable(FALSE);


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • mapx50中CreateCustomTool为何老出问题
  • 请各路大虾帮忙!vc中利用mapx50在指定点显示特定图元的问题!

相关文章

  • 2017-06-05 大家好,为什么我win7上的mfc程序在xp运行就特别卡
  • 2017-06-04 Activex控件在IE7多tab上相互覆盖
  • 2017-06-04 为什么注册时会出现这样的情况?!!!
  • 2017-06-05 vc操作word时,怎么判断光标已经到文档末尾了
  • 2017-06-04 我在COM组件中实现了一个非模态对话框,为什么对话框不能相应回车消息,而在模态对话框下正常?
  • 2017-06-05 谁能用文字描述,给出创建线程,打开串口,读485串口,写485串口这些操作的流程?
  • 2017-06-05 CArray类的一个问题
  • 2017-06-05 [原创/讨论]Windows核心编程研究系列之二:读取物理内存地址中的内容
  • 2017-06-05 想了几天的问题,急死人了高手请进!!!!!!!!!!!1
  • 2017-06-04 关于控件事件问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 有没有人申请过“ActiveX部件的数字签名”,如果我要给我的代码签名,首先怎样向认证机构申请证书?急呀!谢谢!
    • 我的一个ocx控件DUBUG版本注册时提示内存分配无效,而Release却能注册成功,如何解决啊
    • VC中的ActiveX的Flash插件可以播放在线MP3吗?
    • 手上有个别人给的DLL,有什么办法知道它是DEBUG版还是RELEASE版?
    • 不太理解CList<TYPE,AVG_TYPE>的用法
    • 关于COM中数据类型的赋值问题?
    • Excel自动化可以借由脚本语言实现吗?
    • ActiveX创建对象并调用对象方法
    • [activex]新手问题之——如何Debug
    • VC中使用MScomm时,如何进行超时处理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有