一.MapX加载地图
说明:file参数指向的地图(.gst文件)的绝对路径,比如本人地图所在路径为:D:\Program Files\MapInfo\MapX 5.0\Maps\CHINA.GST,则file参数应为"D:\\Program Files\\MapInfo\\MapX 5.0\\Maps\\CHINA.GST"。(注意vc中为双斜杠)
- int CLmtestView::LoadGeoData(CString file)
- {
- if (!m_map.Create(NULL,WS_VISIBLE,CRect(50,50,400,400),this, IDC_MAP))
- {
- //创建失败
- return -1;
- }
- m_map.SetGeoSet(file);
- m_map.SetTitleText("中国地图");
- m_map.SetCurrentTool(miPanTool);
- return 0;
- }
二.MapX创建图层
说明:layer参数为指向要创建图层的对象, str参数指定图层名称,id参数指定该图层在地图中的图层顺序。
- //创建图层
- void CLmtestView::CreateLayer(CMapXLayer* layer, CString str, int id )
- {
- CString geo=m_map.GetGeoSet();
- if(geo.IsEmpty())
- {
- AfxMessageBox(_T("未指定地图集,请先指定地图集"));
- return;
- }
- try
- {
- m_map.GetLayers().CreateLayer(_T(str), NULL, id);
- *layer = m_map.GetLayers().Item(_T(str));
- }
- catch(COleDispatchException *e)
- {
- e->ReportError();
- e->Delete();
- }
- catch(COleException *e)
- {
- e->ReportError();
- e->Delete();
- }
- }
转载于:https://blog.51cto.com/lixiaomeng/715712