其他相关:
1、Toolname是这几个类的特定属性,在其他的工具类中没有。
2、如果界面中已经放置了同功能的操作控件并关联到MapControl控件,那么将会干扰到程序选择的工具。比如,既放了自带的移动控件,又有一个按钮可以设置移动工具,在点击自定义的按钮,选择移动工具时,那么,界面中的移动控件就会自动处于被按下的状态。这时,再用自定义的选择工具去设置别的功能就不管用了,怎么都是移动功能。所以,最好只要一个就行了。
3、从MapX到MapXtreme2004[2]-图层操作 Mapx中基本的图层操作还是比较简单的,集中在对Layers和Layer的处理上,对别的没有太多要求。 在MapXtreme中,要完成类似功能,发生了一点变化,如下:
1、图层的显示 在MapXtreme中,图层的显示控制发生了奇怪的变化,有一个IsVisible属性,但它是只读的,不能通过它来改变图层的显示。要控制图层的显示与隐藏,可以通过设置Layer.Enable来控制。
2、图层的动态添加 代码如下: Catalog _catalog=MapInfo.Engine.Session.Current.Catalog; MapInfo.Data.Table _tempTable=null; Map _map=MapControl1.Map ; TableInfo ti = TableInfoFactory.CreateTemp("临时"); _tempTable = _catalog.CreateTable(ti); _map.Layers.Insert(0, new FeatureLayer(_tempTable));
可以看出:加图层实际就是加表;Catalog对象统管表的加载以及列举;
查帮助还可以了解:表信息其实还可以包括表的类型和坐标系。类型是指原生表,文本,access ...
上面的ti也可以这样取得,但是,上面的表默认是MeMTab,应该是内存中的吧。 CoordSys cs=_map.GetDisplayCoordSys(); TableInfo ti = TableInfoFactory.CreateTemp("临时",MapInfo.Data.TableType.Native,cs);

4、从MapX到MapXtreme2004[3]-搜索图元一、根据名称搜索图元
1、Mapxtreme的架构和Mapx有所变化,Mapx中,Layer包含Features,而Mapxtreme中则不是
2、Mapxtreme的例子中的查找,是通过Find对象来实现的,而Find对象的构造,需要指定Table和Colume,Table好办,FeatureLayer.table即可,而Colume通过FeatureLayer.table.tableinfo.colums["列名"]来指定。但是,关键问题,大多数的地图,并未设计过多的字段来供查询,查的其实就是个标题和label而已。
3、要用笨办法,遍历图层的features,通过这个方法 foreach(Feature feature in lyr.table) { }
4、Feature派生自Object,包含一个Geometry属性,这个属性是各种几何图形对象的基类 Geometry classes that derive from FeatureGeometry include: Point, MultiPoint, MultiCurve, MultiPolygon, FeatureGeometryCollection, Rectangle, RoundedRectangle, Ellipse, LegacyArc, and LegacyText.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-33547-2.html
但名义上