摘要: Table _searchTable;//定义被查找的表Column _searchColumn;//定义被查找的列,必须是被索引的FindResult _result;//定义查询结果Find find = null;//定义查找对象,并实例化为null_searchTable = Session.Current.Catalog.OpenTable(@"C:\Program Files\MapInfo\MapXtreme\6.0\Samples\Data\worldcap.TAB");//打开被查找的表Columns columns = _searchTable.Tabl 阅读全文
posted @ 2011-07-13 11:52 naariah 阅读(268) 评论(0) 推荐(0)
摘要: //SearchInfo si = MapInfo.Data.SearchInfoFactory.SearchWhere("Country like '%" + txtName.Text + "%'");IResultSetFeatureCollection ifs = MapInfo.Engine.Session.Current.Catalog.Search("world",si);if (ifs.Count <=0){return;}//缩放到选择图元范围MapMain.Map.SetView(ifs.Env 阅读全文
posted @ 2011-07-13 11:51 naariah 阅读(305) 评论(0) 推荐(0)
摘要: MapInfo.Data.Feature myfc=MapInfo.Engine.Session.Current.Catalog.SearchForFeature(tabname,MapInfo.Data.SearchInfoFactory.SearchWhere("Highway='I 10'"));MapInfo.Geometry.MultiCurve c=(MapInfo.Geometry.MultiCurve)myfc.Geometry ;foreach(MapInfo.Geometry.Curve c1 in c){MapInfo.Geometry 阅读全文
posted @ 2011-07-13 11:47 naariah 阅读(229) 评论(0) 推荐(0)
摘要: 1 设置图层可选状态///<summary>///改变层的可选择状态///</summary>///<paramname="selectableStatus"></param>///<returns></returns>publicboolLayerSelectableStatusUpdate(stringtableAlias,boolselectableStatus){if(mapControl1.Map.Layers[tableAlias]==null)returnfalse;MapInfo.Map 阅读全文
posted @ 2011-07-13 11:46 naariah 阅读(428) 评论(0) 推荐(0)
摘要: 如果想要将一个选中的图元强调显示,用红色醒目的文字显示的话,我的思路如下: 1、不可能直接改原先的图元,所以必须要在一个新的图层上进行操作2、新的图层因为不同的人用,会放置不同的东西,用固定图层不合适,得用动态生成的图层 碰到很多问题,如下: 1、原来的图层,默认设置了autolabel,所以可以直接显示,但是mapxtreme2004并不支持对图层的autolabel的设置。要想在程序中自动标注,必须得依赖labellayer。 2、用固定的设置好autolabel的图层不行,那么能否动态的将一个设置好autolabel属性的固定层复制成一个动态图层呢?我没有找到图层的clone方法。 3、 阅读全文
posted @ 2011-07-13 11:46 naariah 阅读(425) 评论(0) 推荐(0)
摘要: 以前在mapx里面一个show就可以搞定的问题,现在在这里需要几行代码才能实现,代码如下: LabelLayer layer = new LabelLayer();MapControl1.Map.Layers.Add(layer);LabelSource source = new LabelSource(MapInfo.Engine.Session.Current.Catalog.GetTable("地名"));source.DefaultLabelProperties.Caption = "f_name";//标注用到的那个字段名称layer.Sour 阅读全文
posted @ 2011-07-13 11:42 naariah 阅读(467) 评论(0) 推荐(0)
摘要: 一、建造者(Builder)模式建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。对象性质的建造有些情况下,一个对象会有一些重要的性质,在它们没有恰当的值之前,对象不能作为一个完整的产品使用。比如,一个电子邮件有发件人地址、收件人地址、主题、内容、附录等部分,而在最起码的收件人地址未被赋值之前,这个电子邮件不能发出。有些情况下,一个对象的一些性质必须按照某个顺序赋值才有意义。在某个性质没有赋值之前,另一个性质则无法赋值。这些情况使得性质本身的建造涉及到复杂的商业逻辑。这时候,此对象相当于一个有待建造的产品,而对象的这些性质相当于 阅读全文
posted @ 2011-07-13 11:39 naariah 阅读(133) 评论(0) 推荐(0)
摘要: 一、单例(Singleton)模式单例模式的特点:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其它对象提供这一实例。单例模式应用:每台计算机可以有若干个打印机,但只能有一个Printer Spooler,避免两个打印作业同时输出到打印机。一个具有自动编号主键的表可以有多个用户同时使用,但数据库中只能有一个地方分配下一个主键编号。否则会出现主键重复。二、Singleton模式的结构:Singleton模式包含的角色只有一个,就是Singleton。Singleton拥有一个私有构造函数,确保用户无法通过new直接实例它。除此之外,该模式中包含一个静态私有成员变量ins 阅读全文
posted @ 2011-07-13 11:38 naariah 阅读(96) 评论(0) 推荐(0)
摘要: 一、抽象工厂(Abstract Factory)模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。为了方便引进抽象工厂模式,引进一个新概念:产品族(Product Family)。所谓产品族,是指位于不同产品等级结构,功能相关联的产品组成的家族。如图:图中一共有四个产品族,分布于三个不同的产品等级结构中。只要指明一个产品所处的产品族以及它所属的等级结构,就可以唯一的确定这个产品。引进抽象工厂模式所谓的抽象工厂是指一个工厂等级结构可以创建出分属于不同产品等级结构的一个产品族中的所有对象。如果用图来描述的话,如下图:二、Abstract Factory模式的结构:图中描述的东西 阅读全文
posted @ 2011-07-13 11:37 naariah 阅读(93) 评论(0) 推荐(0)
摘要: 一、工厂方法(Factory Method)模式工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不接触哪一个产品类被实例化这种细节。这使得工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品。在Factory Method模式中,工厂类与产品类往往具有平行的等 阅读全文
posted @ 2011-07-13 11:36 naariah 阅读(111) 评论(0) 推荐(0)