史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)

花了一个晚上的时间终于搞定mapX5.02.26的调用了,记录下。

先看看效果图1吧。史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)_第1张图片,当然很原始,不过这只是写了10行不到的代码而已。下面开始

平台:win8.1 64bit + VS2010 32bit英文版

模板:Ribbon的SDI

MAPX:5.02.26破解版

地图:中国地图gst格式(最后会放出mapx破解版及地图gst文件打包文件本站下载地址)

 

  1. 下载mapx5.02.26+地图gst打包压缩包,解压缩到任意位置
  2. 可以看到有个iso镜像文件,装载到虚拟光驱,如图2史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)_第2张图片,这里特别要注意,不要运行根目录下的setup.exe,而要打开bin目录下的demo32.exe,如图3史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)_第3张图片.
  3. 等待片刻之后出现安装程序,图4史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)_第4张图片,点击第一个安装下去,史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)_第5张图片
  4. 结束后,会在C:\Program Files (x86)\MapInfo\文件夹下看到mapx5文件史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)_第6张图片
  5. vs里新建一个基于ribbon的sdi工程mapXdemo。
  6. 将破解包里的mapx50.lic文件复制到这个mapx5.0下,并用记事本打开这个lic文件,复制第一行key值,下面会用到这个值。史上最详细MFC调用mapX5.02.26步骤(附地图测试GST文件)_第7张图片
  7. mapx\samples下有c++文件夹,从里面拷贝mapx.h ,mapx.cpp2个文件到mapXdemo目录下,添加进工程。
  8. CmapXdemoView.h里添加

    [cpp] view plaincopy

    1. #include "mapx.h"  
  9. CmapXdemoView.cpp的OnCreate里添加

    [cpp] view plaincopy

    1. RECT windRect;  
    2.   
    3.     GetClientRect(&windRect);       //取得视图区域  
    4.     CString strLic = _T("uQnZi2sFw22L0-MRa8pYX-1E2P8065-5N5M3459-3C934220-04969-6562");//复制的key  
    5.     BSTR bstrLic = strLic.AllocSysString();  
    6.     m_MapCtrl.Create(NULL, WS_VISIBLE, windRect, this,1122,  
    7.         NULL, FALSE, bstrLic);  
    8.     ::SysFreeString(bstrLic);  
    9.     m_MapCtrl.SetGeoSet(_T("E:\\GST地图\\中国城市.gst"));//gst地图位置  
    10.     CMapXLayers allLayers = m_MapCtrl.GetLayers();  
    11.     allLayers.Add((LPCTSTR)_T("E:\\GST地图\\国界.TAB"));  
    12.     //allLayers.Add(_T("国界.TAB"));  
    13.     CMapXLayer cusLr = allLayers.AddUserDrawLayer(_T("userLr"),1);  
    14.     allLayers.SetAnimationLayer(cusLr.DetachDispatch());  
  10. CmapXdemoView.cpp的OnSize里添加
    if(m_MapCtrl.GetSafeHwnd() != NULL)
    	{
    		m_MapCtrl.MoveWindow(0,0,cx, cy);
    	}
  11. 编译连接运行吧,应该ok了。

--------------------------------------------------------------------------------------------------------------------------------

编译过程中可能会出现弹出对话框提示failed to create empty document之类的错误,原因有2种可能

 

  1. key没有写对,查下mapx文件夹有没lic文件,里面的key和create里的key相符不相符。
  2. mapx文件夹下缺少一个geodict.dct文件,解决方法是在mapx根目录下新建maps文件夹,里面新建一个空文件,取名geodict.dct,内容可以不填

-----------------------------------------------------------------------------------------------------------------------------------

破解文件盒gst测试文件压缩包地址在这里,分3个压缩卷:

卷1,卷2,卷3

 


如果我的文字解决了你的问题,请打个赏的,让我更有动力:)

 

你可能感兴趣的:(GIS)