MAPX怎样添加一个插入图层

MAPX怎样添加一个插入图层,第1张

CarLayer := Map1.Layers.CreateLayer(LayerName, '', 1, 100, map1.NumericCoordSys)

这是DELPHI的,自己改下,初始化的时候用

一、在delphi 中嵌入mapx控件

在delphi与mapx安装完成以后,启动delphi选择component—》import activex control在d出的对话框中选择mapinfo mapx v4.0,然后鼠标单击install即可,就可以在delphi中的active控件栏中找到这个控件。

二、地图数据预处理

用于mapx *** 作的地图必须与mapinfo professional相结合,由后者来完成对图形的加工,例如将地图配准、调色等。有些特殊用途的数据,如要在程序中编程实现进行最短路径搜索等,必须先对表示道路的线条进行适当的加点、断线等 *** 作。出于不同的工作量和精度的要求,还可能用到mapbasic等来进行数据的预处理。经过这些处理后再将地图加载到mapx中进行开发,可使开发出来的系统更加切合实际,精确度更高。

三、加载地图数据

mapx有两种加载地图数据的方式,一种是利用它提供的geosetmanage工具将所需显示的图形文件添加进来,然后将当前的所有图形集合存为一个“xxxGST”文件中,然后在mapx中设定其属性“geoset”为所保存的文件即可。另外一种是直接在程序中加载图形,利用mapx控件中的一个对象--layers通过layersadd方法可以将所需要的图形文件逐个添加进来,并且同时设置各个图层的显示范围。

这是vc的,我每句都加了注释,你可以参考下

CMapXFeature ft//创建图元对象

ft.CreateDispatch( ft.GetClsid( ) )

ft.Attach( m_ctrlMapX.GetDispatch( FALSE ) )//以上两句牵扯到组件知识,大概就是新建一个mapx对象就需要这样注册下

ft.SetType( miFeatureTypeLine )//图元样子,这里是线形的

ft.GetStyle( ).SetLineColor( 0xFF0000 )//颜色

ft.GetStyle( ).SetLineStyle( 1 )//线的形状

ft.GetStyle( ).SetLineWidth( 1 )//线宽

ft.GetParts( ).Add( pts )//既然是线性,需要至少两点来确定画线位置,这里的pts是CMapXPoints对象,在前面的程序里已经定义好了

看了你的代码,c#不是很懂,但是注意到像你设置了feature的style,但是style是要加到feature上的。vc里面会这样写

feature.SetStyle(style.m_lpDispatch)看看C#中feature对象的SetStyle方法


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7897039.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存