从MapX到MapXtreme2004[4]-标注AutoLabel

        好日子一去不复返了,原来总觉得Mapx很多地方设计得不是很自然,比如,feature和具体的feature之间的某些属性的关系,有时令人迷惑。但是,用了Mapxtreme,才感觉到Mapx的方便。真不知MapInfo怎么想的!原来的标注非常简单,layer有个autolabel属性,一设就可以了。现在呢:

            //James.Liu的代码 
           Table table = Session.Current.Catalog.OpenTable("usa.tab");
            Map map = Session.Current.MapFactory.CreateEmptyMap(new Size(300, 300));
            LabelLayer layer = new LabelLayer();
            map.Layers.Add(layer);
            LabelSource source = new LabelSource(table);
            source.DefaultLabelProperties.Caption = "State_Name";
            layer.Sources.Append(source);

            //我的
            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.Sources.Append(source);

            看Layer.Sources的架势,好像可以共用一个LabelLayer,试试,的确可以

posted @ 2005-07-22 21:33  jetz  阅读(1026)  评论(0编辑  收藏  举报