阅读:1657回复:2
sde连接标注问题
<P>下面代码基于sde连接时图层标注标不上,但基于文件可以标注上去,请用过sde的兄弟帮我看看:</P>
<P> Layer := IMoMapLayer(CreateOleObject('MapObjects2.MapLayer'));<BR> Layer.GeoDataset := IMoGeoDataset(dc.FindGeoDataset('SDE.G1W_ANN_GAJG.SHAPE.MultiPoints'));<BR> Ft := TFont.Create;<BR> Ft.name := 'Wingdings';<BR> Ft.size := 20;<BR> OleFt := FontToOleFont(Ft);<BR> Layer.Symbol.Style := 4;<BR> Layer.Symbol.Font := IFontDisp(IDispatch(OleFt));<BR> Layer.Symbol.CharacterIndex:=62;<BR> Layer.Symbol.Color:=RGB(128,128, 255);<BR> Layer.Symbol.Size:=5;<BR> Ft.Free;<BR> Lys := Map1.Layers;<BR> Lys.Add(Layer);</P> <P> Ft := TFont.Create;<BR> Ft.name := '仿宋_GB2312';<BR> Ft.size := 10;<BR> oleFt := FontToOleFont(Ft);<BR> font.name :='Times';<BR> lyrs := IMoLayers(Map1.layers);<BR> ly := IMoMapLayer(CreateOleObject('MapObjects2.MapLayer'));<BR> lblren := IMoLabelPlacer(CreateOleObject('MapObjects2.LabelPlacer'));<BR> lblren.field :='NAME';<BR> lblren.defaultsymbol.font := IFontDisp(IDispatch(oleFt));<BR> lblren.DefaultSymbol.Color := RGB(0,0,0);;<BR> lblren.AllowDuplicates :=false;<BR> ly := IMoMapLayer(lyrs.item('SDE.G1W_ANN_GAJG.SHAPE.MultiPoints'));<BR> ly.Renderer := lblren;<BR> Map1.refresh;<BR> Ft.Free;</P> |
|
1楼#
发布于:2008-08-05 16:58
用mapobjects写的?
|
|
|
2楼#
发布于:2008-08-12 17:43
用mapobjects写的
|
|