コード例 #1
0
ファイル: LayerStyles.cs プロジェクト: yifeidong/gvms
        /// <summary>
        /// 将已设置好的样式添加到唯一值渲染中去
        /// </summary>
        /// <param name="layer"></param>
        /// <param name="symbols"></param>
        public void SetSymbolsToValueRenderedLayer(MapObjects2.MapLayer layer, Dictionary <string, MapObjects2.Symbol> symbols)
        {
            if (layer.Renderer == null)
            {
                throw new Exception("the layer has not set a render.");
            }

            if (layer.Renderer is MapObjects2.ValueMapRenderer)
            {
                throw new Exception("the layer has a render,but not a valuerender.");
            }

            Dictionary <string, MapObjects2.Symbol> .KeyCollection oKeys = symbols.Keys;
            MapObjects2.ValueMapRenderer oValueRender = layer.Renderer as MapObjects2.ValueMapRenderer;
            int iValueIndex = -1;

            MapObjects2.Symbol oSymbol = null;

            foreach (string sKey in oKeys)
            {
                iValueIndex = this.GetValueIndexByRenderValue(oValueRender, sKey);

                if (iValueIndex != -1 && symbols.TryGetValue(sKey, out oSymbol))
                {
                    this.CopySymbolToAnother(oSymbol, oValueRender.get_Symbol((short)iValueIndex));
                }
            }
        }
コード例 #2
0
ファイル: LayerStyles.cs プロジェクト: yifeidong/gvms
 private void CopySymbolToAnother(MapObjects2.Symbol fromSymbol, MapObjects2.Symbol toSymbol)
 {
     toSymbol.SymbolType     = fromSymbol.SymbolType;
     toSymbol.CenterOnAscent = fromSymbol.CenterOnAscent;
     toSymbol.CharacterIndex = fromSymbol.CharacterIndex;
     toSymbol.Color          = fromSymbol.Color;
     toSymbol.Custom         = fromSymbol.Custom;
     toSymbol.Font           = toSymbol.Font;
     toSymbol.Outline        = fromSymbol.Outline;
     toSymbol.OutlineColor   = fromSymbol.OutlineColor;
     toSymbol.Rotation       = fromSymbol.Rotation;
     toSymbol.Size           = fromSymbol.Size;
     toSymbol.Style          = fromSymbol.Style;
     toSymbol.SymbolType     = fromSymbol.SymbolType;
 }