MapX之VC设置非地球坐标系

2016-02-19 12:56 35 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐MapX之VC设置非地球坐标系,无聊中的都看过来。

【 tulaoshi.com - 编程语言 】

:MapX之VC设置非地球坐标系
:vc6+mapx4.5+win2k+sp3
:CoordSys.set设置非地球坐标系时,必须定义坐标范围
:www.51gis.com
int CMyGIsView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

// create map with default size
// resize message will cause it to be
// size to the client area of the view
m_ctrlMapX.Create(NULL, WS_VISIBLE, CRect(0,0,100,100), this, IDC_MAP);
m_ctrlMapX.SetGeoSet("Mygst.gst");

//-------以下代码设置nonearth(meters)坐标系-------------
CMapXRectangle Rect;
CMapXCoordSys CurrentCoordsys;
COptionalVariant vEmpty;
VARIANT MapUnit,MapBounds;
if(!Rect.CreateDispatch(Rect.GetClsid()))
{
TRACE0("Could not Create object");
}
if(!CurrentCoordsys.CreateDispatch(CurrentCoordsys.GetClsid())) {
TRACE0("Could not Create object");
}
try {
MapUnit.vt=VT_I4;
MapUnit.lVal=miUnitMeter;
//设置坐标范围(MBR).为求一致,这里取当GeosetManager中设置为non-earth(meters)时,
//gst文件中的参数"GEOSETMBRLOWERLEFT" ,"GEOSETMBRUPPERRIGHT"。
Rect.Set(-2165.540090678837, 9841.99939777,46782.41871417205,41026.85331473999);

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

MapBounds.vt=VT_DISPATCH;
MapBounds.pdispVal=Rect.m_lpDispatch;
MapBounds.pdispVal-AddRef();
CurrentCoordsys.Set(0, vEmpty,MapUnit, vEmpty, vEmpty, vEmpty,vEmpty, vEmpty, vEmpty, vEmpty, vEmpty, vEmpty,MapBounds, vEmpty);
m_ctrlMapX.SetNumericCoordSys(CurrentCoordsys.m_lpDispatch);
m_ctrlMapX.SetDisplayCoordSys(m_ctrlMapX.GetNumericCoordSys().m_lpDispatch);

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

} catch (COleDispatchException *e) {
e-ReportError();
e-Delete();
} catch (COleException *e) {
e-ReportError();
e-Delete();
}
//------------------------------------------------

return 0;
}

==================MapX专家论坛(www.51gis.com)===================

来源:https://www.tulaoshi.com/n/20160219/1602532.html

延伸阅读
标签: 电脑入门
A、显示网格线 执行菜单操作:绘图→绘图网格→在屏幕上显示网格(注意数据设置)/确定命令,使页面上显示绘图网格; B、先画垂直线 选择绘图工具栏上的箭头工具,用它横着拖出一条带箭头(它的形状、大小均可以在设置图形格式里面更改)的直线,要想拖得很直,拖动同时按住shift键。;用同样的方法拖出一条带箭头的竖线。 将两条线同时...
标签: 办公软件
在中学数学的课件制作中,坐标系是不可缺少的,特别是《解析几何》等方面的内容。可是,我们在PowerPoint中制作课件,坐标系通常是用线条组合而成的,很难做到量化上的精确。那么如何才能根据我们的需要灵活定制精确的坐标系呢?一起来看看吧。 参数面板的制作 首先在幻灯片编辑状态,点击菜单命令“视图→工具栏→控件工具箱”...
由于在visualbasic系统中有多种坐标定义,容易使初学者混淆,本文将详细总结vb的坐标系统的一些基本概念,并提供坐标定义的详细方法: visualbasic坐标系统概述: visualbasic的坐标系统是指在屏幕(screen)、窗体(form)、容器(container)上定义的表示图形对象位置的平面二维格线,一般采用数对(x,y)的形式定位。其中,x值是...
:mapx之vc自定义测距工具(PolyToolUsed事件) :VC6+mapx4.5+win2000 : www.51gis.com //1.定义常量 #define MYTOOL_DISTANCE 100 //1~999 //2.创建工具 m_ctrlMap.CreateCustomTool(MYTOOL_DISTANCE,miToolTypePoly,miCrossCursor); //3.响应事件 void CMapXSampleView::OnPolyToolUsedMap(short ToolNum, long Flags, LPDISPATCH Points...
标签: flash教程
本文由 webpop 原创,转载请保留此信息! 在学习中遇到问题请到 论坛Flash研讨版块 发贴交流! FLASH软件编辑界面下舞台上元件的坐标和实际在actionscript(以下简称“AS”)中测试中不一样是初学者经常会碰到的问题。大家不免产生疑惑,为什么FLASH的坐标时而准确,时而不准确呢?其实这是大家不了解FLASH计算坐标方式的缘故,其实FL...

经验教程

967

收藏

60
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部