/// <summary> /// 给图层设置唯一值渲染 /// </summary> /// <param name="layer"></param> /// <param name="renderFieldName"></param> public MapObjects2.ValueMapRenderer GetUniqueValueRender(MapObjects2.MapLayer layer, string renderFieldName) { MapObjects2.ValueMapRenderer oValueMapRender = new MapObjects2.ValueMapRendererClass(); MapObjects2.Recordset oRecords = layer.Records; MapObjects2.Strings oStrings = new StringsClass(); if (layer.shapeType == ShapeTypeConstants.moShapeTypePoint) { oValueMapRender.SymbolType = SymbolTypeConstants.moPointSymbol; } else if (layer.shapeType == ShapeTypeConstants.moShapeTypeLine) { oValueMapRender.SymbolType = SymbolTypeConstants.moLineSymbol; } else if (layer.shapeType == ShapeTypeConstants.moShapeTypePolygon) { oValueMapRender.SymbolType = SymbolTypeConstants.moFillSymbol; } oValueMapRender.Field = renderFieldName; oStrings.Unique = true; oRecords.MoveFirst(); while (!oRecords.EOF) { oStrings.Add(oRecords.Fields.Item(renderFieldName).ValueAsString); oRecords.MoveNext(); } oValueMapRender.ValueCount = oStrings.Count; for (short i = 0; i < oStrings.Count; i++) { oValueMapRender.set_Value(i, oStrings.Item(i)); } return(oValueMapRender); }
/// <summary> /// ��ͼ������Ψһֵ��Ⱦ /// </summary> /// <param name="layer"></param> /// <param name="renderFieldName"></param> public MapObjects2.ValueMapRenderer GetUniqueValueRender(MapObjects2.MapLayer layer, string renderFieldName) { MapObjects2.ValueMapRenderer oValueMapRender = new MapObjects2.ValueMapRendererClass(); MapObjects2.Recordset oRecords = layer.Records; MapObjects2.Strings oStrings = new StringsClass(); if (layer.shapeType == ShapeTypeConstants.moShapeTypePoint) oValueMapRender.SymbolType = SymbolTypeConstants.moPointSymbol; else if (layer.shapeType == ShapeTypeConstants.moShapeTypeLine) oValueMapRender.SymbolType = SymbolTypeConstants.moLineSymbol; else if (layer.shapeType == ShapeTypeConstants.moShapeTypePolygon) oValueMapRender.SymbolType = SymbolTypeConstants.moFillSymbol; oValueMapRender.Field = renderFieldName; oStrings.Unique = true; oRecords.MoveFirst(); while (!oRecords.EOF) { oStrings.Add(oRecords.Fields.Item(renderFieldName).ValueAsString); oRecords.MoveNext(); } oValueMapRender.ValueCount = oStrings.Count; for (short i = 0; i < oStrings.Count; i++) oValueMapRender.set_Value(i, oStrings.Item(i)); return oValueMapRender; }