User Tools

Site Tools


thinkgeo.mapsuite.portablecore.inmemoryfeaturelayer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
thinkgeo.mapsuite.portablecore.inmemoryfeaturelayer [2015/08/20 03:08]
127.0.0.1 external edit
thinkgeo.mapsuite.portablecore.inmemoryfeaturelayer [2017/03/16 21:59] (current)
Line 1: Line 1:
-====== ThinkGeo.MapSuite.PortableCore.InMemoryFeatureLayer ======+====== ThinkGeo.MapSuite.Core.InMemoryFeatureLayer ======
  
 +{{section>​upgrade_map_suite_to_10.0}}
  
- 
-<!-- Class --> 
 This layer is backed by memory and is typically used for temporary features. This layer is backed by memory and is typically used for temporary features.
-=== Remarks === 
-This layer is backed by memory and is typically used for temporary features. You can use the MapShapes layer for user-drawn InternalFeatures,​ InternalFeatures that come from an external device such as a GPS unit, or any InternalFeatures that are not saved to disk or a database. 
 ===== Inheritance Hierarchy ===== ===== Inheritance Hierarchy =====
-*System.Object +  ​*System.Object 
-**[[ThinkGeo.MapSuite.PortableCore.Layer]] +    *ThinkGeo.MapSuite.Core.Layer 
-***[[ThinkGeo.MapSuite.PortableCore.FeatureLayer]] +      *ThinkGeo.MapSuite.Core.FeatureLayer 
-****[[ThinkGeo.MapSuite.PortableCore.InMemoryFeatureLayer]]+        ***ThinkGeo.MapSuite.Core.InMemoryFeatureLayer**
 ===== Members Summary ===== ===== Members Summary =====
 ==== Public Constructors ==== ==== Public Constructors ====
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +** {{wiki:​PublicMethod.gif|}} InMemoryFeatureLayer() ​**
-{{wiki:​PublicMethod.gif|Public Method}}[[#InMemoryFeatureLayer()|InMemoryFeatureLayer]] ​  ​| ​   |    | This is a constructor for the class. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​InMemoryFeatureLayer(IEnumerable<​FeatureSourceColumn>,​ IEnumerable<​Feature>​)|InMemoryFeatureLayer]] ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn|FeatureSourceColumn]]>,​ IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]> ​  ​| ​   | This is a constructor for the class. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​InMemoryFeatureLayer(IEnumerable<​FeatureSourceColumn>,​ IEnumerable<​BaseShape>​)|InMemoryFeatureLayer]] ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn|FeatureSourceColumn]]>,​ IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.BaseShape|BaseShape]]> ​  ​| ​   | This is a constructor for the class. ​  |+
  
-==== Protected Constructors ​==== +  * //This is a constructor for the class.// 
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^+== Remarks ​== 
 +  * //If you use this constructor,​ then you need to specify the FeatureSource column manually.//​ 
 +== Parameters ​== 
 +<div newline></​div>​ 
 +** {{wiki:​PublicMethod.gif|}} InMemoryFeatureLayer(IEnumerable<​FeatureSourceColumn>,​IEnumerable<​Feature>​) **
  
 +  * //This is a constructor for the class.//
 +== Remarks ==
 +  * //This constructor gets the layer ready to use.//
 +== Parameters ==
 +  * //​featureSourceColumns//​
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.FeatureSourceColumn|FeatureSourceColumn]]>​
 +    * Description:​This parameter is the FeatureSourceColumn in this class that you want to use.
 +
 +  * //​features//​
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.Feature|Feature]]>​
 +    * Description:​This parameter represents the features in this class that you want to use.
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} InMemoryFeatureLayer(IEnumerable<​FeatureSourceColumn>,​IEnumerable<​BaseShape>​) **
 +
 +  * //This is a constructor for the class.//
 +== Remarks ==
 +  * //This constructor gets the layer ready to use.//
 +== Parameters ==
 +  * //​featureSourceColumns//​
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.FeatureSourceColumn|FeatureSourceColumn]]>​
 +    * Description:​This parameter is the FeatureSourceColumn in this class that you want to use.
 +
 +  * //shapes//
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.BaseShape|BaseShape]]>​
 +    * Description:​This parameter represents the shapes in this class that you want to use.
 +
 +<div newline></​div>​
 +==== Protected Constructors ====
 ==== Public Methods ==== ==== Public Methods ====
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +** {{wiki:​PublicMethod.gif|}} GetColumns() ​**
-{{wiki:​PublicMethod.gif|Public Method}}[[#​BuildIndex()|BuildIndex]] ​  ​| ​   |    | This method build a spatial index for a passed group of featurs which increases access speed. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Clear()|Clear]] ​  ​| ​   |    | This method will clear all the features included in the feature source. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​CloneDeep()|CloneDeep]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | Create a copy of Layer using the deep clone process. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Close()|Close]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This method closes the Layer and releases any resources it was using. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Draw(GeoCanvas,​ Collection<​SimpleCandidate>​)|Draw]] ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCanvas|GeoCanvas]],​ Collection<​[[ThinkGeo.MapSuite.PortableCore.SimpleCandidate|SimpleCandidate]]> ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This method draws the Layer. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Equals(Object)|Equals]] ​  | Object ​  | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetBoundingBox()|GetBoundingBox]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This method returns the bounding box of the Layer. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#GetColumns()|GetColumns]] ​  ​| ​   |    | This method returns the columns of data for the InternalFeatures in this Layer. ​  | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetHashCode()|GetHashCode]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​GetType()|GetType]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​Open()|Open]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This method opens the Layer so that it is initialized and ready to use.   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​RequestDrawing(TimeSpan)|RequestDrawing]] ​  | TimeSpan ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​RequestDrawing(RectangleShape,​ TimeSpan)|RequestDrawing]] ​  | [[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]],​ TimeSpan ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​RequestDrawing(IEnumerable<​RectangleShape>​)|RequestDrawing]] ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]> ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​RequestDrawing(RectangleShape)|RequestDrawing]] ​  | [[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​RequestDrawing()|RequestDrawing]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​RequestDrawing(IEnumerable<​RectangleShape>,​ TimeSpan)|RequestDrawing]] ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]>,​ TimeSpan ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicMethod.gif|Public Method}}[[#​ToString()|ToString]] ​  ​| ​   | Object ​  ​| ​   |+
  
 +  * //This method returns the columns of data for the InternalFeatures in this Layer.//
 +== Remarks ==
 +  * //You should set the column names for the data that the InternalFeatures will hold. For example, if you have some features that represent road signs, then one column you may want to add is "Sign Type". Then, for every Feature you add to the layer, you need to add the "Sign Type" and a value to the InternalFeatures'​ ColumnValues dictionary. If you provide this information,​ then you can use things like ValueStyles,​ Labeling, etc. based on the columns you have defined.//
 +
 +== Return Value ==
 +  * Type:​Collection<​[[ThinkGeo.MapSuite.Core.FeatureSourceColumn|FeatureSourceColumn]]>​
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} BuildIndex() **
 +
 +  * //This method build a spatial index for a passed group of featurs which increases access speed.//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Clear() **
 +
 +  * //This method will clear all the features included in the feature source.//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetThreadSafetyLevel() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.ThreadSafetyLevel|ThreadSafetyLevel]]
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} CloneDeep() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.Layer|Layer]]
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Open() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Close() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetBoundingBox() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Draw(GeoCanvas,​Collection<​SimpleCandidate>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //canvas//
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]]
 +    * Description:​N/​A
 +
 +  * //​labelsInAllLayers//​
 +    * Type:​Collection<​[[ThinkGeo.MapSuite.Core.SimpleCandidate|SimpleCandidate]]>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} RequestDrawing() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} RequestDrawing(RectangleShape) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​extentToRefresh//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} RequestDrawing(IEnumerable<​RectangleShape>​) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​extentsToRefresh//​
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]>​
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} RequestDrawing(TimeSpan) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​bufferTime//​
 +    * Type:​TimeSpan
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} RequestDrawing(RectangleShape,​TimeSpan) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​extentToRefresh//​
 +    * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
 +    * Description:​N/​A
 +
 +  * //​bufferTime//​
 +    * Type:​TimeSpan
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} RequestDrawing(IEnumerable<​RectangleShape>,​TimeSpan) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Void
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //​extentsToRefresh//​
 +    * Type:​IEnumerable<​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]>​
 +    * Description:​N/​A
 +
 +  * //​bufferTime//​
 +    * Type:​TimeSpan
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} ToString() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:String
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} Equals(Object) **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:​Boolean
 +  * Description:​N/​A
 +
 +== Parameters ==
 +  * //obj//
 +    * Type:Object
 +    * Description:​N/​A
 +
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetHashCode() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Int32
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 +** {{wiki:​PublicMethod.gif|}} GetType() **
 +
 +  * //N/A//
 +== Remarks ==
 +  * //N/A//
 +
 +== Return Value ==
 +  * Type:Type
 +  * Description:​N/​A
 +
 +== Parameters ==
 +<div newline></​div>​
 ==== Protected Methods ==== ==== Protected Methods ====
-^ Name ^ Parameters ^ DeclaringType ^ Summary ^ +** {{wiki:​ProtectedMethod.gif|}} OpenCore() ​**
-{{wiki:​ProtectedMethod.gif|Protected Method}}[[#​CloneDeepCore()|CloneDeepCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | Create a copy of Layer using the deep clone process. The default implemenation uses serialization. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​CloseCore()|CloseCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]](overriden) ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​DrawAttributionCore(GeoCanvas,​ String)|DrawAttributionCore]] ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCanvas|GeoCanvas]],​ String ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​DrawCore(GeoCanvas,​ Collection<​SimpleCandidate>​)|DrawCore]] ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCanvas|GeoCanvas]],​ Collection<​[[ThinkGeo.MapSuite.PortableCore.SimpleCandidate|SimpleCandidate]]> ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]](overriden) ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​DrawException(GeoCanvas,​ Exception)|DrawException]] ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCanvas|GeoCanvas]],​ Exception ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This method will draw on the canvas when the layer.Draw throw exception and the DrawExceptionMode is set to DrawException instead of ThrowException. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​DrawExceptionCore(GeoCanvas,​ Exception)|DrawExceptionCore]] ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCanvas|GeoCanvas]],​ Exception ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This method will draw on the canvas when the layer.Draw throw exception and the DrawExceptionMode is set to DrawException instead of ThrowException. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​Finalize()|Finalize]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​GetBoundingBoxCore()|GetBoundingBoxCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]](overriden) ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​MemberwiseClone()|MemberwiseClone]] ​  ​| ​   | Object ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​OnDrawingAttribution(DrawingAttributionLayerEventArgs)|OnDrawingAttribution]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingAttributionLayerEventArgs|DrawingAttributionLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​OnDrawingException(DrawingExceptionLayerEventArgs)|OnDrawingException]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingExceptionLayerEventArgs|DrawingExceptionLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​OnDrawingFeatures(DrawingFeaturesEventArgs)|OnDrawingFeatures]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingFeaturesEventArgs|DrawingFeaturesEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | This method raises the DrawingFeatures event. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​OnDrawingProgressChanged(DrawingProgressChangedEventArgs)|OnDrawingProgressChanged]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​OnDrawingWrappingFeatures(DrawingWrappingFeaturesFeatureLayerEventArgs)|OnDrawingWrappingFeatures]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingWrappingFeaturesFeatureLayerEventArgs|DrawingWrappingFeaturesFeatureLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​OnDrawnAttribution(DrawnAttributionLayerEventArgs)|OnDrawnAttribution]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawnAttributionLayerEventArgs|DrawnAttributionLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​OnDrawnException(DrawnExceptionLayerEventArgs)|OnDrawnException]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawnExceptionLayerEventArgs|DrawnExceptionLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​OnRequestedDrawing(RequestedDrawingLayerEventArgs)|OnRequestedDrawing]] ​  | [[ThinkGeo.MapSuite.PortableCore.RequestedDrawingLayerEventArgs|RequestedDrawingLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​OnRequestingDrawing(RequestingDrawingLayerEventArgs)|OnRequestingDrawing]] ​  | [[ThinkGeo.MapSuite.PortableCore.RequestingDrawingLayerEventArgs|RequestingDrawingLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#OpenCore()|OpenCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]](overriden) ​  | This method opens the Layer so that it is initialized and ready to use.   | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​SetupTools()|SetupTools]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | This method sets up the EditTools and QueryTools objects. ​  | +
-| {{wiki:​ProtectedMethod.gif|Protected Method}}[[#​SetupToolsCore()|SetupToolsCore]] ​  ​| ​   | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | This method sets up the EditTools and QueryTools objects. ​  |+
  
-==== Public Properties ==== +  ​* //This method opens the Layer so that it is initialized ​and ready to use.// 
-^ Name ^ Return ^ DeclaringType ^ Summary ^ +== Remarks == 
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​Attribution|Attribution]] ​  | String ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +  * //This abstract method is called from the concrete public method OpenThe open method plays an important role, as it is responsible for initializing ​the Layer. ​Most methods on the Layer will throw an exception if the state of the Layer is not openedWhen the map draws each layerthe layer will be opened as one of its first steps; then, after it is finished drawing with that layer, it will close itIn this way, we are sure to release all resources used by the Layer. ​When implementing ​the abstract method, consider opening ​the FeatureSource ​or RasterSourceYou will get a chance to close these in the Close method of the Layer.//
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​Columns|Columns]] ​  | Collection<​[[ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn|FeatureSourceColumn]]> ​  ​|    | This property gets the columns of data for the InternalFeatures in this Layer.   | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​DrawingExceptionMode|DrawingExceptionMode]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingExceptionMode|DrawingExceptionMode]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | Gets or sets the DrawExcpetionMode when exception happens. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​DrawingMarginPercentage|DrawingMarginPercentage]] ​  | Double ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | This property gets and sets the extra drawing margin as a percentage around the map that draw to ensure that labeling ​is correct. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​DrawingQuality|DrawingQuality]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingQuality|DrawingQuality]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | This property gets and sets the general drawing quality for the FeatureLayer'​s canvas  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​DrawingTime|DrawingTime]] ​  | TimeSpan ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This property gets the last drawing time for the layer. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​EditTools|EditTools]] ​  | [[ThinkGeo.MapSuite.PortableCore.EditTools|EditTools]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  ​| ​This property gets the EditTools that allow you to easily edit InternalFeatures in the Feature Layer  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​FeatureIdsToExclude|FeatureIdsToExclude]] ​  | Collection<​String> ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | A collection of strings representing record id of features not to get in the Layer. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​FeatureSource|FeatureSource]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureSource|FeatureSource]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | This property gets the FeatureSource for the FeatureLayer. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​HasBoundingBox|HasBoundingBox]] ​  | Boolean ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]](overriden) ​  | This property checks to see if a Layer has a BoundingBox or not. If it has no BoundingBox,​ it will throw an exception ​when you call the GetBoundingBox() and GetFullExtent() APIs. In InMemoryFeatureLayer,​ we override this API and mark it as true.   | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​InternalFeatures|InternalFeatures]] ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCollection|GeoCollection]]<​[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]> ​  ​| ​   | This property gets the dictionary that holds your InternalFeatures. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​IsGrayscale|IsGrayscale]] ​  | Boolean ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This property gets and sets if the image should be converted to grayscale. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​IsNegative|IsNegative]] ​  | Boolean ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This property gets and sets whether ​the image should be converted to negative (inverse colors). ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​IsOpen|IsOpen]] ​  | Boolean ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This property returns true if the Layer is open and false if it is not.   | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​IsVisible|IsVisible]] ​  | Boolean ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This property gets and set the visible state of the layer.   | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​MaxRecordsToDraw|MaxRecordsToDraw]] ​  | Int32   | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  ​| ​   | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​Name|Name]] ​  | String ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This property gets and sets the name for the layer. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​QueryTools|QueryTools]] ​  | [[ThinkGeo.MapSuite.PortableCore.QueryTools|QueryTools]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | This property gets the QueryTools that allow you to easily query Features from the Feature ​Layer. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​RequestDrawingInterval|RequestDrawingInterval]] ​  | TimeSpan ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​Transparency|Transparency]] ​  | Single ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  | This property gets and sets the amount of transparency to apply to the image. ​  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​WrappingExtent|WrappingExtent]] ​  | [[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  ​| ​   | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​WrappingMode|WrappingMode]] ​  | [[ThinkGeo.MapSuite.PortableCore.WrappingMode|WrappingMode]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | Thie property gets or sets whether allow wrap date line  | +
-| {{wiki:​PublicProperty.gif|Public Property}}[[#​ZoomLevelSet|ZoomLevelSet]] ​  | [[ThinkGeo.MapSuite.PortableCore.ZoomLevelSet|ZoomLevelSet]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | This property gets and sets the ZoomLevelSet,​ which contains ​the specific zoom levels for the FeatureLayer  |+
  
-==== Protected Properties ==== +== Return Value == 
-^ Name ^ Return ^ DeclaringType ^ Summary ^ +  * Type:Void 
-| {{wiki:ProtectedProperty.gif|Protected Property}}[[#​IsOpenCore|IsOpenCore]] ​  | Boolean ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]](overriden) ​  ​| ​   |+  * Description:None
  
-==== Public Events ==== +== Parameters ​== 
-^ Name ^ Event Arguments ^ DeclaringType ^ Summary ^ +<div newline></​div>​ 
-{{wiki:PublicEvent.gif|Public Event}}[[#​DrawingAttribution|DrawingAttribution]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingAttributionLayerEventArgs|DrawingAttributionLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +** {{wiki:ProtectedMethod.gif|}} ​OnDrawingFeatures(DrawingFeaturesEventArgs) **
-| {{wiki:​PublicEvent.gif|Public Event}}[[#​DrawingException|DrawingException]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingExceptionLayerEventArgs|DrawingExceptionLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicEvent.gif|Public Event}}[[#​DrawingFeatures|DrawingFeatures]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingFeaturesEventArgs|DrawingFeaturesEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  | This event is raised when features are about to be drawn in the layer. ​  | +
-| {{wiki:​PublicEvent.gif|Public Event}}[[#​DrawingProgressChanged|DrawingProgressChanged]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicEvent.gif|Public Event}}[[#​DrawingWrappingFeatures|DrawingWrappingFeatures]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawingWrappingFeaturesFeatureLayerEventArgs|DrawingWrappingFeaturesFeatureLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.FeatureLayer|FeatureLayer]] ​  ​| ​   | +
-| {{wiki:​PublicEvent.gif|Public Event}}[[#​DrawnAttribution|DrawnAttribution]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawnAttributionLayerEventArgs|DrawnAttributionLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicEvent.gif|Public Event}}[[#​DrawnException|DrawnException]] ​  | [[ThinkGeo.MapSuite.PortableCore.DrawnExceptionLayerEventArgs|DrawnExceptionLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicEvent.gif|Public Event}}[[#​RequestedDrawing|RequestedDrawing]] ​  | [[ThinkGeo.MapSuite.PortableCore.RequestedDrawingLayerEventArgs|RequestedDrawingLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   | +
-| {{wiki:​PublicEvent.gif|Public Event}}[[#​RequestingDrawing|RequestingDrawing]] ​  | [[ThinkGeo.MapSuite.PortableCore.RequestingDrawingLayerEventArgs|RequestingDrawingLayerEventArgs]] ​  | [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]] ​  ​| ​   |+
  
-===== Public Constructors ===== +  * //N/A// 
-==== InMemoryFeatureLayer() ==== +== Remarks == 
-This is a constructor for the class. +  ​* //N/A//
-=== Overloads === +
-This is the default constructor. If you use this constructor,​ then you need to specify the FeatureSource column manually. +
-=== Remarks ​=== +
-If you use this constructor,​ then you need to specify the FeatureSource column manually. +
-=== Parameters === +
-^  Name ^  Type ^  Description ^+
  
-[[#Public Constructors|Go Back]] +== Return Value == 
-==== InMemoryFeatureLayer(IEnumerable<​FeatureSourceColumn>,​ IEnumerable<​Feature>​) ​==== +  ​Type:Void 
-This is a constructor for the class. +  Description:N/A
-=== Overloads === +
-This constructor allows you to provide the FeatureSource columns and features for the layer. +
-=== Remarks === +
-This constructor gets the layer ready to use. +
-=== Parameters === +
-^  Name ^  ​Type ​ ​Description ​+
-| featureSourceColumns ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn|FeatureSourceColumn]]><​!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn} --> ​  | This parameter is the FeatureSourceColumn in this class that you want to use.   | +
-| features ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]><​!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.PortableCore.Feature} --> ​  | This parameter represents the features in this class that you want to use.   |+
  
-[[#Public Constructors|Go Back]] +== Parameters == 
-==== InMemoryFeatureLayer(IEnumerable<​FeatureSourceColumn>,​ IEnumerable<​BaseShape>​) ==== +  ​* //e// 
-This is a constructor for the class. +    * Type:[[ThinkGeo.MapSuite.Core.DrawingFeaturesEventArgs|DrawingFeaturesEventArgs]] 
-=== Overloads === +    * Description:​N/​A
-This constructor allows you to provide the FeatureSource columns and shapes for the layer. +
-=== Remarks === +
-This constructor gets the layer ready to use. +
-=== Parameters ​=== +
-^  Name ^  ​Type ​^  Description ^ +
-| featureSourceColumns ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn|FeatureSourceColumn]]><!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn} --> ​  | This parameter is the FeatureSourceColumn in this class that you want to use.   | +
-| shapes ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.BaseShape|BaseShape]]><​!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.PortableCore.BaseShape} --> ​  | This parameter represents the shapes in this class that you want to use.   |+
  
-[[#Public Constructors|Go Back]] +<div newline></​div>​ 
-===== Protected Constructors ===== +** {{wiki:​ProtectedMethod.gif|}} OnDrawingWrappingFeatures(DrawingWrappingFeaturesFeatureLayerEventArgs**
-===== Public Methods ===== +
-==== BuildIndex() ==== +
-This method build a spatial index for a passed group of featurs which increases access speed. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.PortableCore.InMemoryFeatureLayer --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Void 
-==== Clear() ==== +  * Description:N/A
-This method will clear all the features included in the feature source. +
-=== Return Value === +
-^ Return ​Type Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //e// 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DrawingWrappingFeaturesFeatureLayerEventArgs|DrawingWrappingFeaturesFeatureLayerEventArgs]] 
 +    * Description:N/A
  
-<!-- ThinkGeo.MapSuite.PortableCore.InMemoryFeatureLayer --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​ProtectedMethod.gif|}} SetupTools() **
-==== CloneDeep() ==== +
-Create a copy of Layer using the deep clone process. +
-=== Remarks === +
-The difference between deep clone and shallow clone is as follows: In shallow cloning, only the object is copied; the objects within it are not. By contrast, deep cloning copies the cloned object as well as all the objects within. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]]<​!-- ThinkGeo.MapSuite.PortableCore.Layer --> ​  | A cloned Layer. ​  |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:Void 
-==== Close() ​==== +  * Description:​N/​A
-This method closes the Layer and releases any resources it was using. +
-=== Remarks === +
-This method is the concrete wrapper for the abstract method CloseCore. The close method plays an important role in the life cycle of the Layer. It may be called after drawing to release any memory and other resources that were allocated since the Open method was called.+
  
-If you override this method, it is recommended that you take the following things into accountThis method may be called multiple times, so we suggest you write the method so that that a call to a closed Layer is ignored and does not generate an error. We also suggest that in the Close you free all resources that have been opened. Remember that the object will not be destroyed, but will be re-opened possibly in the near future.+== Parameters == 
 +<div newline></​div>​ 
 +** {{wiki:ProtectedMethod.gif|}} SetupToolsCore() **
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:Void 
 +  Description:N/A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></​div
-==== Draw(GeoCanvas,​ Collection<SimpleCandidate>) ==== +** {{wiki:​ProtectedMethod.gif|}} CloseCore() **
-This method draws the Layer. +
-=== Remarks === +
-This method is the concrete wrapper for the abstract method DrawCore. This method draws the representation of the layer based on the extent you provided.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Void 
-| canvas ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCanvas|GeoCanvas]]<​!-- ThinkGeo.MapSuite.PortableCore.GeoCanvas --> ​  | This parameter is the canvas object or a GeoImage to draw on.   | +  Description:N/A
-| labelsInAllLayers ​  | Collection<​[[ThinkGeo.MapSuite.PortableCore.SimpleCandidate|SimpleCandidate]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.PortableCore.SimpleCandidate} --> ​  | This parameter represents the labels used for collision detection and duplication checking. ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-==== Equals(Object) ​==== +** {{wiki:​ProtectedMethod.gif|}} GetBoundingBoxCore() **
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Boolean<​!-- System.Boolean --> ​  ​| ​   ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| obj   | Object<​!-- System.Object --> ​  ​| ​   |+  ​* //N/A//
  
-<!-- System.Object --> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]] 
-==== GetBoundingBox() ​==== +  * Description:​N/​A
-This method returns the bounding box of the Layer. +
-=== Remarks === +
-This method is the concrete wrapper for the abstract method GetBoundingBoxCoreThis method returns the bounding box of the RasterLayer.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +== Parameters ​== 
-=== Return Value === +<div newline></​div>​ 
-^ Return Type ^ Description ^ +** {{wiki:​ProtectedMethod.gif|}} DrawCore(GeoCanvas,​Collection<SimpleCandidate>) **
-| [[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]<!-- ThinkGeo.MapSuite.PortableCore.RectangleShape --  | This method returns the bounding box of the Layer. ​  |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Void 
-==== GetColumns() ==== +  * Description:N/A
-This method returns the columns of data for the InternalFeatures in this Layer. +
-=== Remarks === +
-You should set the column names for the data that the InternalFeatures will hold. For example, if you have some features that represent road signs, then one column you may want to add is "Sign Type". Then, for every Feature you add to the layer, you need to add the "Sign Type" and a value to the InternalFeatures'​ ColumnValues dictionary. If you provide this information,​ then you can use things like ValueStyles,​ Labeling, etc. based on the columns you have defined. +
-=== Return Value === +
-^ Return ​Type Description ​+
-| Collection<​[[ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn|FeatureSourceColumn]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn} --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //​canvas//​ 
 +    * Type:​[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]] 
 +    * Description:N/A
  
-<!-- ThinkGeo.MapSuite.PortableCore.InMemoryFeatureLayer --> +  * //​labelsInAllLayers//​ 
-[[#Public Methods|Go Back]] +    * Type:​Collection<[[ThinkGeo.MapSuite.Core.SimpleCandidate|SimpleCandidate]]> 
-==== GetHashCode() ==== +    ​* ​Description:N/A
-=== Return Value === +
-^ Return Type ^ Description ​+
-| Int32<​!-- System.Int32 --> ​  ​| ​   |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^+** {{wiki:​ProtectedMethod.gif|}} OnRequestingDrawing(RequestingDrawingLayerEventArgs) **
  
-<!-- System.Object --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== GetType() ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Type<!-- System.Type --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:Void 
 +  Description:N/A
  
-<!-- System.Object --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +  * //​eventArgs//​ 
-==== Open() ​==== +    * Type:​[[ThinkGeo.MapSuite.Core.RequestingDrawingLayerEventArgs|RequestingDrawingLayerEventArgs]] 
-This method opens the Layer so that it is initialized and ready to use. +    * Description:​N/​A
-=== Remarks === +
-This method is the concrete wrapper for the abstract method OpenCoreThe open method plays an important role, as it is responsible for initializing the LayerMost methods on the Layer will throw an exception if the state of the Layer is not opened. When the map draws each layer, the layer will be opened as one of its first steps; then, after it is finished drawing with that layer, it will close it. In this way, we are sure to release all resources used by the Layer.+
  
-When implementing the abstract method, consider opening the FeatureSource or RasterSource. You will get a chance to close these in the Close method of the Layer.+<div newline></​div>​ 
 +** {{wiki:​ProtectedMethod.gif|}} GetThreadSafetyLevelCore() **
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //N/A// 
-=== Return Value === +== Remarks ​== 
-^ Return Type ^ Description ^ +  * //N/A//
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:​[[ThinkGeo.MapSuite.Core.ThreadSafetyLevel|ThreadSafetyLevel]] 
 +  Description:N/A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +== Parameters ​== 
-[[#Public Methods|Go Back]] +<div newline></​div>​ 
-==== RequestDrawing(TimeSpan) ​==== +** {{wiki:​ProtectedMethod.gif|}} CloneDeepCore() **
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| bufferTime ​  | TimeSpan<​!-- System.TimeSpan --> ​  ​| ​   |+  ​* //N/A//
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Layer ​--> +== Return Value == 
-[[#Public Methods|Go Back]] +  * Type:[[ThinkGeo.MapSuite.Core.Layer|Layer]] 
-==== RequestDrawing(RectangleShape,​ TimeSpan) ==== +  ​* ​Description:N/A
-=== Return Value === +
-^ Return Type ^ Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  Type ^  Description ^ +<div newline></​div
-| extentToRefresh ​  | [[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]<!-- ThinkGeo.MapSuite.PortableCore.RectangleShape --  |    | +** {{wiki:​ProtectedMethod.gif|}} DrawException(GeoCanvas,​Exception) **
-| bufferTime ​  | TimeSpan<​!-- System.TimeSpan --> ​  ​| ​   ​|+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks ​== 
-==== RequestDrawing(IEnumerable<​RectangleShape>​) ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Void 
-| extentsToRefresh ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]><​!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.PortableCore.RectangleShape} --> ​  ​| ​   |+  Description:N/A
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Layer --> +== Parameters == 
-[[#Public Methods|Go Back]] +  * //​canvas//​ 
-==== RequestDrawing(RectangleShape) ==== +    * Type:[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]] 
-=== Return Value === +    ​* ​Description:N/A
-^ Return Type ^ Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +  * //e// 
-^  Name ^  ​Type ^  Description ^ +    ​* ​Type:Exception 
-| extentToRefresh ​  | [[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]<​!-- ThinkGeo.MapSuite.PortableCore.RectangleShape --> ​  ​| ​   |+    ​* Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --+<div newline></​div
-[[#Public Methods|Go Back]] +** {{wiki:​ProtectedMethod.gif|}} DrawExceptionCore(GeoCanvas,​Exception**
-==== RequestDrawing() ==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +== Return Value == 
-[[#Public Methods|Go Back]] +  ​* ​Type:Void 
-==== RequestDrawing(IEnumerable<​RectangleShape>,​ TimeSpan) ==== +  * Description:N/A
-=== Return Value === +
-^ Return ​Type Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //​canvas//​ 
-| extentsToRefresh ​  | IEnumerable<​[[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]><!-- System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.PortableCore.RectangleShape} --> ​  ​| ​   | +    * Type:[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]] 
-| bufferTime ​  | TimeSpan<​!-- System.TimeSpan --> ​  ​| ​   |+    ​* Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +  * //e// 
-[[#Public Methods|Go Back]] +    ​* ​Type:Exception 
-==== ToString() ==== +    ​* Description:​N/​A
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| String<​!-- System.String --> ​  ​| ​   |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^+** {{wiki:​ProtectedMethod.gif|}} OnDrawingException(DrawingExceptionLayerEventArgs) **
  
-<!-- System.Object --> +  * //N/A// 
-[[#Public Methods|Go Back]] +== Remarks == 
-===== Protected Methods ===== +  * //N/A//
-==== CloneDeepCore() ==== +
-Create a copy of Layer using the deep clone process. The default implemenation uses serialization. +
-=== Remarks ​=== +
-The difference between deep clone and shallow clone is as follows: In shallow cloning, only the object is copied; the objects within it are not. By contrast, deep cloning copies the cloned object as well as all the objects within. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| [[ThinkGeo.MapSuite.PortableCore.Layer|Layer]]<​!-- ThinkGeo.MapSuite.PortableCore.Layer --> ​  ​| ​cloned Layer. ​  |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​^+  ​Type:Void 
 +  Description:N/A
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Layer --> +== Parameters == 
-[[#​Protected Methods|Go Back]] +  * //e// 
-==== CloseCore() ==== +    * Type:[[ThinkGeo.MapSuite.Core.DrawingExceptionLayerEventArgs|DrawingExceptionLayerEventArgs]] 
-=== Return Value === +    ​* ​Description:N/A
-^ Return Type ^ Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^+** {{wiki:​ProtectedMethod.gif|}} OnDrawnException(DrawnExceptionLayerEventArgs) **
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer(overriden) --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks ​== 
-==== DrawAttributionCore(GeoCanvas,​ String) ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Void 
-| canvas ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCanvas|GeoCanvas]]<​!-- ThinkGeo.MapSuite.PortableCore.GeoCanvas --> ​  ​| ​   | +  Description:N/A
-| attribution ​  | String<​!-- System.String --> ​  ​| ​   |+
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Layer --> +== Parameters == 
-[[#​Protected Methods|Go Back]] +  * //e// 
-==== DrawCore(GeoCanvas,​ Collection<​SimpleCandidate>​) ==== +    * Type:[[ThinkGeo.MapSuite.Core.DrawnExceptionLayerEventArgs|DrawnExceptionLayerEventArgs]] 
-=== Return Value === +    ​* ​Description:N/A
-^ Return Type ^ Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +<div newline></div> 
-^  Name ^  Type ^  Description ^ +** {{wiki:​ProtectedMethod.gif|}DrawAttributionCore(GeoCanvas,​String) **
-| canvas ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCanvas|GeoCanvas]]<!-- ThinkGeo.MapSuite.PortableCore.GeoCanvas --  |    | +
-| labelsInAllLayers ​  | Collection<[[ThinkGeo.MapSuite.PortableCore.SimpleCandidate|SimpleCandidate]]><!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.PortableCore.SimpleCandidate--> ​  ​| ​   |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer(overriden) --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== DrawException(GeoCanvas,​ Exception) ==== +  * //N/A//
-This method will draw on the canvas when the layer.Draw throw exception and the DrawExceptionMode is set to DrawException instead of ThrowException. +
-=== Remarks ​=== +
-This method can be overriden its logic by rewrite the DrawExceptionCore. +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Void 
-| canvas ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCanvas|GeoCanvas]]<​!-- ThinkGeo.MapSuite.PortableCore.GeoCanvas --> ​  | The target canvas to draw the layer. ​  | +  Description:N/A
-| e   | Exception<​!-- System.Exception --> ​  | The exception thrown when layer.Draw(). ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +  * //canvas// 
-==== DrawExceptionCore(GeoCanvas,​ Exception) ​==== +    ​* ​Type:​[[ThinkGeo.MapSuite.Core.GeoCanvas|GeoCanvas]] 
-This method will draw on the canvas ​when the layer.Draw throw exception and the DrawExceptionMode is set to DrawException instead of ThrowException. +    * Description:​N/​A
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Void<!-- System.Void --> ​  |    ​|+
  
-=== Parameters === +  * //​attribution//​ 
-^  Name ^  ​Type ^  ​Description ​+    ​* ​Type:String 
-| canvas ​  | [[ThinkGeo.MapSuite.PortableCore.GeoCanvas|GeoCanvas]]<​!-- ThinkGeo.MapSuite.PortableCore.GeoCanvas --> ​  | The target canvas to draw the layer. ​  | +    * Description:N/A
-| e   | Exception<​!-- System.Exception --> ​  | The exception thrown when layer.Draw(). ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --+<div newline></​div
-[[#​Protected Methods|Go Back]] +** {{wiki:​ProtectedMethod.gif|}} OnDrawingAttribution(DrawingAttributionLayerEventArgs**
-==== Finalize() ==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- System.Object --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  ​* ​Type:Void 
-==== GetBoundingBoxCore() ==== +  * Description:N/A
-=== Return Value === +
-^ Return ​Type Description ​+
-| [[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]<​!-- ThinkGeo.MapSuite.PortableCore.RectangleShape --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  ​Description ​^+  ​* //args// 
 +    * Type:​[[ThinkGeo.MapSuite.Core.DrawingAttributionLayerEventArgs|DrawingAttributionLayerEventArgs]] 
 +    * Description:N/A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer(overriden) --+<div newline></​div
-[[#​Protected Methods|Go Back]] +** {{wiki:​ProtectedMethod.gif|}} OnDrawnAttribution(DrawnAttributionLayerEventArgs**
-==== MemberwiseClone() ==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Object<​!-- System.Object --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
-^  Name ^  Type ^  Description ^+== Remarks ​== 
 +  ​* //N/A//
  
-<!-- System.Object --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  ​* ​Type:Void 
-==== OnDrawingAttribution(DrawingAttributionLayerEventArgs) ==== +  * Description:N/A
-=== Return Value === +
-^ Return ​Type Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  ​Type ​^  Description ^ +  ​* //args// 
-| args   ​| ​[[ThinkGeo.MapSuite.PortableCore.DrawingAttributionLayerEventArgs|DrawingAttributionLayerEventArgs]]<!-- ThinkGeo.MapSuite.PortableCore.DrawingAttributionLayerEventArgs --> ​  ​| ​   |+    * Type:[[ThinkGeo.MapSuite.Core.DrawnAttributionLayerEventArgs|DrawnAttributionLayerEventArgs]] 
 +    * Description:​N/​A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --+<div newline></​div
-[[#​Protected Methods|Go Back]] +** {{wiki:​ProtectedMethod.gif|}} OnDrawingProgressChanged(DrawingProgressChangedEventArgs**
-==== OnDrawingException(DrawingExceptionLayerEventArgs==== +
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| e   | [[ThinkGeo.MapSuite.PortableCore.DrawingExceptionLayerEventArgs|DrawingExceptionLayerEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.DrawingExceptionLayerEventArgs --> ​  ​| ​   |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  * Type:Void 
-==== OnDrawingFeatures(DrawingFeaturesEventArgs) ​==== +  * Description:​N/​A
-This method raises the DrawingFeatures event. +
-=== Remarks === +
-<list type="​bullet">​ <​item>​You can call this method from a derived class to enable it to raise the event. This may be useful if you plan to extend the FeatureLayer and you need access to the event.+
  
-This event is meant to allow you to add or remove the features to be drawn.</​item>​ </​list>​ +== Parameters ​== 
-=== Return Value === +  * //e// 
-^ Return Type ^ Description ^ +    * Type:​[[ThinkGeo.MapSuite.Core.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]] 
-| Void<!-- System.Void --> ​  |    ​|+    * Description:​N/​A
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​ProtectedMethod.gif|}} OnRequestedDrawing(RequestedDrawingLayerEventArgs) **
-| e   | [[ThinkGeo.MapSuite.PortableCore.DrawingFeaturesEventArgs|DrawingFeaturesEventArgs]]<!-- ThinkGeo.MapSuite.PortableCore.DrawingFeaturesEventArgs --  | This parameter represents the event arguments for the event  ​|+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks ​== 
-==== OnDrawingProgressChanged(DrawingProgressChangedEventArgs) ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Void 
-| e   | [[ThinkGeo.MapSuite.PortableCore.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.DrawingProgressChangedEventArgs --> ​  ​| ​   |+  Description:N/A
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Layer --> +== Parameters == 
-[[#​Protected Methods|Go Back]] +  * //​eventArgs//​ 
-==== OnDrawingWrappingFeatures(DrawingWrappingFeaturesFeatureLayerEventArgs) ==== +    * Type:[[ThinkGeo.MapSuite.Core.RequestedDrawingLayerEventArgs|RequestedDrawingLayerEventArgs]] 
-=== Return Value === +    ​* ​Description:N/A
-^ Return Type ^ Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +<div newline></​div>​ 
-^  Name ^  Type ^  Description ^ +** {{wiki:​ProtectedMethod.gif|}} Finalize() **
-| e   | [[ThinkGeo.MapSuite.PortableCore.DrawingWrappingFeaturesFeatureLayerEventArgs|DrawingWrappingFeaturesFeatureLayerEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.DrawingWrappingFeaturesFeatureLayerEventArgs --> ​  ​| ​   ​|+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks ​== 
-==== OnDrawnAttribution(DrawnAttributionLayerEventArgs) ==== +  * //N/A//
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters === +== Return Value == 
-^  Name ^  ​Type ​ ​Description ​+  ​Type:Void 
-| args   | [[ThinkGeo.MapSuite.PortableCore.DrawnAttributionLayerEventArgs|DrawnAttributionLayerEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.DrawnAttributionLayerEventArgs --> ​  ​| ​   |+  Description:N/A
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +== Parameters ​== 
-[[#​Protected Methods|Go Back]] +<div newline></​div>​ 
-==== OnDrawnException(DrawnExceptionLayerEventArgs) ​==== +** {{wiki:​ProtectedMethod.gif|}} MemberwiseClone() **
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   ​|+
  
-=== Parameters === +  * //N/A// 
- Name ^  Type ^  Description ^ +== Remarks ​== 
-| e   | [[ThinkGeo.MapSuite.PortableCore.DrawnExceptionLayerEventArgs|DrawnExceptionLayerEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.DrawnExceptionLayerEventArgs --> ​  ​| ​   |+  ​* //N/A//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +== Return Value == 
-[[#​Protected Methods|Go Back]] +  ​* ​Type:Object 
-==== OnRequestedDrawing(RequestedDrawingLayerEventArgs) ==== +  * Description:N/A
-=== Return Value === +
-^ Return ​Type Description ​+
-| Void<!-- System.Void --> ​  ​| ​   |+
  
-=== Parameters ​=== +== Parameters == 
-^  Name ^  Type ^  Description ^ +<div newline></​div>​ 
-| eventArgs ​  | [[ThinkGeo.MapSuite.PortableCore.RequestedDrawingLayerEventArgs|RequestedDrawingLayerEventArgs]]<!-- ThinkGeo.MapSuite.PortableCore.RequestedDrawingLayerEventArgs --  |    ​|+==== Public Properties ==== 
 +** {{wiki:​PublicProperty.gif|}} Columns **
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +  * //This property gets the columns of data for the InternalFeatures in this Layer.// 
-[[#​Protected Methods|Go Back]] +== Remarks ​== 
-==== OnRequestingDrawing(RequestingDrawingLayerEventArgs) ==== +  * //You should set the column names for the data that the InternalFeatures will hold. For example, if you have some features that represent road signs, then one column you may want to add is "Sign Type". Then, for every Feature you add to the layer, you need to add the "Sign Type" and a value to the InternalFeatures'​ ColumnValues dictionary. If you provide this information,​ then you can use things like ValueStyles,​ Labeling, etc. based on the columns you have defined.//​ 
-=== Return Value === +== Return Value == 
-^ Return ​Type ^ Description ^ +  ​* ​Type:Collection<[[ThinkGeo.MapSuite.Core.FeatureSourceColumn|FeatureSourceColumn]]>​
-| Void<!-- System.Void --> ​  ​| ​   ​|+
  
-=== Parameters === +** {{wiki:​PublicProperty.gif|}} InternalFeatures **
-^  Name ^  Type ^  Description ^ +
-| eventArgs ​  | [[ThinkGeo.MapSuite.PortableCore.RequestingDrawingLayerEventArgs|RequestingDrawingLayerEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.RequestingDrawingLayerEventArgs --> ​  ​| ​   ​|+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +  * //This property gets the dictionary ​that holds your InternalFeatures.// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== OpenCore() ==== +  * //The dictionary ​is a quick way to access your InternalFeaturesYou can easily addremove or edit features in this dictionary and they instantly take effect in the layerYou can always use the EditTools to do the same thing, but this is a shortcutas the data is backed in memory so it is very pliable.//​ 
-This method opens the Layer so that it is initialized and ready to use+== Return Value == 
-=== Remarks ​=== +  * Type:​[[ThinkGeo.MapSuite.Core.GeoCollection<​T>​[[ThinkGeo.MapSuite.Core.FeatureMapSuitePortableCore,​ Version=9.0.0.0Culture=neutral,​ PublicKeyToken=null]]|GeoCollection<​T>​]]
-This abstract method ​is called from the concrete public method OpenThe open method plays an important roleas it is responsible for initializing ​the LayerMost methods on the Layer will throw an exception if the state of the Layer is not opened. When the map draws each layer, the layer will be opened as one of its first steps; then, after it is finished drawing with that layerit will close itIn this waywe are sure to release all resources used by the Layer.+
  
-When implementing the abstract method, consider opening the FeatureSource or RasterSourceYou will get a chance to close these in the Close method of the Layer. +** {{wiki:​PublicProperty.gif|}} HasBoundingBox **
-=== Return Value === +
-^ Return Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   ​|+
  
-=== Parameters ​=== +  * //This property checks to see if a Layer has a BoundingBox or not. If it has no BoundingBox,​ it will throw an exception when you call the GetBoundingBox() and GetFullExtent() APIs. In InMemoryFeatureLayer,​ we override this API and mark it as true.// 
-^  Name ^  ​Type ​^  Description ^+== Remarks ​== 
 +  * //The default implementation in the base class returns false.// 
 +== Return Value == 
 +  ​Type:Boolean
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer(overriden) --> +** {{wiki:​PublicProperty.gif|}} WrappingExtent **
-[[#​Protected Methods|Go Back]] +
-==== SetupTools() ==== +
-This method sets up the EditTools and QueryTools objects. +
-=== Remarks === +
-This method is the concrete wrapper for the abstract method SetupToolsCore. The SetupTools method allows you to create the QueryTool, EditTools and other tools you may need on your object. We created this method so that if you want to extend one of the tool classes, you can override the SetupToolsCore and create any class you want.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +  * //N/A// 
-=== Return Value === +== Remarks == 
-^ Return ​Type ^ Description ^ +  * //N/A// 
-| Void<!-- System.Void --> ​  ​| ​   ​|+== Return Value == 
 +  ​* ​Type:​[[ThinkGeo.MapSuite.Core.RectangleShape|RectangleShape]]
  
-=== Parameters === +** {{wiki:​PublicProperty.gif|}} WrappingMode **
-^  Name ^  Type ^  Description ^+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks == 
-==== SetupToolsCore() ==== +  * //N/A// 
-This method sets up the EditTools and QueryTools objects. +== Return Value == 
-=== Remarks ​=== +  ​* ​Type:[[ThinkGeo.MapSuite.Core.WrappingMode|WrappingMode]]
-This method is the concrete wrapper for the abstract method SetupTools. The SetupTools method allows you to create the QueryTool, EditTools and other tools you may need on your object. We created this method so that if you want to extend one of the tool classes, you can override the SetupToolsCore and create any class you want. +
-=== Return Value === +
-^ Return ​Type ^ Description ^ +
-| Void<!-- System.Void --> ​  ​| ​   ​|+
  
-=== Parameters === +** {{wiki:​PublicProperty.gif|}} EditTools **
-^  Name ^  Type ^  Description ^+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +  * //N/A// 
-[[#​Protected Methods|Go Back]] +== Remarks ​== 
-===== Public Properties ===== +  * //N/A// 
-==== Attribution ==== +== Return Value == 
-=== Return Value === +  ​* ​Type:[[ThinkGeo.MapSuite.Core.EditTools|EditTools]]
-^ Return ​Type +
-| String<​!-- System.String --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +** {{wiki:​PublicProperty.gif|}} FeatureIdsToExclude **
-[[#Public Properties|Go Back]] +
-==== Columns ==== +
-This property gets the columns of data for the InternalFeatures in this Layer. +
-=== Remarks === +
-You should set the column names for the data that the InternalFeatures will hold. For example, if you have some features that represent road signs, then one column you may want to add is "Sign Type". Then, for every Feature you add to the layer, you need to add the "Sign Type" and a value to the InternalFeatures'​ ColumnValues dictionary. If you provide this information,​ then you can use things like ValueStyles,​ Labeling, etc. based on the columns you have defined. +
-=== Return Value === +
-^ Return Type ^ +
-| Collection<​[[ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn|FeatureSourceColumn]]><​!-- System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.PortableCore.FeatureSourceColumn--> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.InMemoryFeatureLayer --> +  * //N/A// 
-[[#Public Properties|Go Back]] +== Remarks ​== 
-==== DrawingExceptionMode ==== +  * //N/A// 
-Gets or sets the DrawExcpetionMode when exception happens. +== Return Value == 
-=== Return Value === +  ​* ​Type:Collection<String>
-^ Return ​Type +
-| [[ThinkGeo.MapSuite.PortableCore.DrawingExceptionMode|DrawingExceptionMode]]<!-- ThinkGeo.MapSuite.PortableCore.DrawingExceptionMode --  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +** {{wiki:​PublicProperty.gif|}} QueryTools **
-[[#Public Properties|Go Back]] +
-==== DrawingMarginPercentage ==== +
-This property gets and sets the extra drawing margin as a percentage around the map that draw to ensure that labeling is correct. +
-=== Remarks === +
-This extra margin that we draw exists so that labels match up if they are partially cut off. +
-=== Return Value === +
-^ Return Type ^ +
-| Double<​!-- System.Double --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +  * //N/A// 
-[[#Public Properties|Go Back]] +== Remarks ​== 
-==== DrawingQuality ==== +  * //N/A// 
-This property gets and sets the general drawing quality for the FeatureLayer'​s canvas. +== Return Value == 
-=== Remarks === +  * Type:​[[ThinkGeo.MapSuite.Core.QueryTools|QueryTools]]
-The DrawingQuality enumeration allows you to control, in a macro sense, the drawing quality that will be used in the GeoCanvasEach GeoCanvas, which is responsible for drawing of the features, may have its own specialized drawing quality propertiesWhat the DrawingQuality enumeration does is define some general guidelines for each GeoCanvas. For example, if you set the DrawingQuality to HighSpeed, then inside of the GdiPlusGeoCanvas there is a profile for HighSpeed. This profile sets specific properties, such as the smoothing mode and composing drawing mode of the GdiPlusGeoCanvas. As each GeoCanvas may have different drawing quality properties, this offers a general way to control drawing quality and speed.+
  
-If you need complete control over how a specific GeoCanvas will draw, then you can set the DrawingQuality to CustomThis will tell the specific GeoCanvas to use the properties on its own object instead of one of the pre-defined profiles. If one of the profiles -- such as HighSpeed or HighQuality -- is set, then the specific GeoCanvas ignores its own properties for drawing quality. +** {{wiki:​PublicProperty.gif|}} MaxRecordsToDraw **
-=== Return Value === +
-^ Return Type ^ +
-| [[ThinkGeo.MapSuite.PortableCore.DrawingQuality|DrawingQuality]]<​!-- ThinkGeo.MapSuite.PortableCore.DrawingQuality --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +  * //N/A// 
-[[#Public Properties|Go Back]] +== Remarks == 
-==== DrawingTime ==== +  * //N/A// 
-This property gets the last drawing time for the layer. +== Return Value == 
-=== Remarks ​=== +  ​* ​Type:Int32
-We track the drawing time for the layer and report it back in this method. This is useful for determining the speed of various layers. +
-=== Return Value === +
-^ Return ​Type +
-| TimeSpan<​!-- System.TimeSpan --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +** {{wiki:​PublicProperty.gif|}} DrawingMarginInPixel **
-[[#Public Properties|Go Back]] +
-==== EditTools ==== +
-This property gets the EditTools that allow you to easily edit InternalFeatures in the Feature Layer. +
-=== Remarks === +
-The EditTools are supplied as an easily accessible wrapper for the editing methods of the FeatureSource. +
-=== Return Value === +
-^ Return Type ^ +
-| [[ThinkGeo.MapSuite.PortableCore.EditTools|EditTools]]<​!-- ThinkGeo.MapSuite.PortableCore.EditTools --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +  * //N/A// 
-[[#Public Properties|Go Back]] +== Remarks == 
-==== FeatureIdsToExclude ==== +  * //N/A// 
-collection of strings representing record id of features not to get in the Layer. +== Return Value == 
-=== Remarks ​=== +  ​* ​Type:Single
-This string collection is a handy place to specify what records not to get from the source. Suppose you have a shape file of roads and you want to hide the roads within a particular rectangle, simply execute GetFeaturesInsideBoundingBox() and add the id of the return features to the collection and forget about them. Since you can set this by Layer it makes is easy to determine what to and what not to. +
-=== Return Value === +
-^ Return ​Type +
-| Collection<​String><​!-- System.Collections.ObjectModel.Collection{System.String} --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +** {{wiki:​PublicProperty.gif|}} FeatureSource ​**
-[[#Public Properties|Go Back]] +
-==== FeatureSource ​==== +
-This property gets the FeatureSource for the FeatureLayer. +
-=== Remarks === +
-The FeatureSource is the provider of data to the FeatureLayer. There are different FeatureSource classes to match the various ways that feature data is stored. It is important that, when you inherit from the FeatureLayer,​ in the constructor you set the FeatureSource you want to use. +
-=== Return Value === +
-^ Return Type ^ +
-| [[ThinkGeo.MapSuite.PortableCore.FeatureSource|FeatureSource]]<​!-- ThinkGeo.MapSuite.PortableCore.FeatureSource --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +  * //N/A// 
-[[#Public Properties|Go Back]] +== Remarks == 
-==== HasBoundingBox ==== +  * //N/A// 
-This property checks to see if a Layer has a BoundingBox or not. If it has no BoundingBox,​ it will throw an exception when you call the GetBoundingBox() and GetFullExtent() APIs. In InMemoryFeatureLayer,​ we override this API and mark it as true. +== Return Value == 
-=== Remarks ​=== +  ​* ​Type:[[ThinkGeo.MapSuite.Core.FeatureSource|FeatureSource]]
-The default implementation in the base class returns false. +
-=== Return Value === +
-^ Return ​Type +
-| Boolean<​!-- System.Boolean --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer(overriden) --> +** {{wiki:​PublicProperty.gif|}} DrawingQuality **
-[[#Public Properties|Go Back]] +
-==== InternalFeatures ==== +
-This property gets the dictionary that holds your InternalFeatures. +
-=== Remarks === +
-The dictionary is a quick way to access your InternalFeatures. You can easily add, remove or edit features in this dictionary and they instantly take effect in the layer. You can always use the EditTools to do the same thing, but this is a shortcut, as the data is backed in memory so it is very pliable. +
-=== Return Value === +
-^ Return Type ^ +
-| [[ThinkGeo.MapSuite.PortableCore.GeoCollection|GeoCollection]]<​[[ThinkGeo.MapSuite.PortableCore.Feature|Feature]]><​!-- ThinkGeo.MapSuite.PortableCore.GeoCollection{ThinkGeo.MapSuite.PortableCore.Feature--> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.InMemoryFeatureLayer --> +  * //N/A// 
-[[#Public Properties|Go Back]] +== Remarks ​== 
-==== IsGrayscale ==== +  * //N/A// 
-This property gets and sets if the image should be converted to grayscale. +== Return Value == 
-=== Return Value === +  ​* ​Type:[[ThinkGeo.MapSuite.Core.DrawingQuality|DrawingQuality]]
-^ Return ​Type +
-| Boolean<​!-- System.Boolean --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +** {{wiki:​PublicProperty.gif|}} ZoomLevelSet **
-[[#Public Properties|Go Back]] +
-==== IsNegative ==== +
-This property gets and sets whether the image should be converted to negative (inverse colors). +
-=== Return Value === +
-^ Return Type ^ +
-| Boolean<​!-- System.Boolean --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +  * //N/A// 
-[[#Public Properties|Go Back]] +== Remarks ​== 
-==== IsOpen ==== +  * //N/A// 
-This property returns true if the Layer is open and false if it is not. +== Return Value == 
-=== Remarks === +  * Type:​[[ThinkGeo.MapSuite.Core.ZoomLevelSet|ZoomLevelSet]]
-This method is the concrete wrapper for the abstract method IsOpenCoreVarious methods on the Layer require that it be in an open stateIf one of those methods is called when the state is not open, then the method will throw an exception. To enter the open state, you must call the Layer Open method. The method will raise an exception if the current Layer is already open.+
  
-As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the methodIn this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework. +** {{wiki:​PublicProperty.gif|}} DrawingMarginPercentage **
-=== Return Value === +
-^ Return Type ^ +
-| Boolean<​!-- System.Boolean --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +  * //N/A// 
-[[#Public Properties|Go Back]] +== Remarks == 
-==== IsVisible ==== +  * //N/A// 
-This property gets and set the visible state of the layer. +== Return Value == 
-=== Remarks ​=== +  ​* ​Type:Double
-If this property is set to false, the layer will not draw. We ensure this in the Draw method. This is useful for legends and other controls that control the visibility of layers. +
-=== Return Value === +
-^ Return ​Type +
-| Boolean<​!-- System.Boolean --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +** {{wiki:​PublicProperty.gif|}} IsOpen **
-[[#Public Properties|Go Back]] +
-==== MaxRecordsToDraw ==== +
-=== Return Value === +
-^ Return Type ^ +
-| Int32<​!-- System.Int32 --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +  * //N/A// 
-[[#Public Properties|Go Back]] +== Remarks == 
-==== Name ==== +  * //N/A// 
-This property gets and sets the name for the layer+== Return Value == 
-=== Remarks === +  * Type:​Boolean 
-The name is user definedIt is useful to set, as it may be used for higher level components such as legends, etc+ 
-=== Return Value === +** {{wiki:​PublicProperty.gif|}} DrawingTime ** 
-Return Type ^ + 
-String<​!-- System.String --> ​  |+  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​TimeSpan 
 + 
 +** {{wiki:​PublicProperty.gif|}} Name ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​String 
 + 
 +** {{wiki:​PublicProperty.gif|}} IsVisible ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​Boolean 
 + 
 +** {{wiki:​PublicProperty.gif|}} Transparency ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​Single 
 + 
 +** {{wiki:​PublicProperty.gif|}} IsNegative ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​Boolean 
 + 
 +** {{wiki:​PublicProperty.gif|}} IsGrayscale ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​Boolean 
 + 
 +** {{wiki:​PublicProperty.gif|}} DrawingExceptionMode ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:[[ThinkGeo.MapSuite.Core.DrawingExceptionMode|DrawingExceptionMode]] 
 + 
 +** {{wiki:​PublicProperty.gif|}} Attribution ** 
 + 
 +  * //N/A// 
 +== Remarks ​== 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​String 
 + 
 +** {{wiki:​PublicProperty.gif|}} RequestDrawingInterval ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​TimeSpan 
 + 
 +==== Protected Properties ==== 
 +** {{wiki:​ProtectedProperty.gif|}} FetchedCount ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​Int64 
 + 
 +** {{wiki:​ProtectedProperty.gif|}} FetchedBytes ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​Int64 
 + 
 +** {{wiki:​ProtectedProperty.gif|}} StyleTime ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value =
 +  * Type:​TimeSpan 
 + 
 +** {{wiki:​ProtectedProperty.gif|}} FetchTime ** 
 + 
 +  * //N/A// 
 +== Remarks ​== 
 +  * //N/A// 
 +== Return ​Value == 
 +  * Type:TimeSpan 
 + 
 +** {{wiki:​ProtectedProperty.gif|}} IsOpenCore ** 
 + 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A// 
 +== Return Value == 
 +  * Type:​Boolean 
 + 
 +==== Public Events ==== 
 +** {{wiki:​PublicEvent.gif|}} DrawingFeatures ** 
 +  * //N/A// 
 +== Remarks == 
 +  * //N/A//
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +Event Arguments:[[ThinkGeo.MapSuite.Core.DrawingFeaturesEventArgs|DrawingFeaturesEventArgs]]
-[[#Public Properties|Go Back]] +
-==== QueryTools ==== +
-This property gets the QueryTools that allow you to easily query Features from the Feature Layer. +
-=== Remarks === +
-This property gets the QueryTools that allow you to easily query Features from the Feature Layer. The QueryTools are supplied as an easily accessible wrapper for the query methods of the FeatureSource. +
-=== Return Value === +
-^ Return Type ^ +
-[[ThinkGeo.MapSuite.PortableCore.QueryTools|QueryTools]]<!-- ThinkGeo.MapSuite.PortableCore.QueryTools --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +** {{wiki:​PublicEvent.gif|}} DrawingWrappingFeatures ** 
-[[#Public Properties|Go Back]] +  * //N/A// 
-==== RequestDrawingInterval ==== +== Remarks ​== 
-=== Return Value === +  * //N/A//
-^ Return Type ^ +
-| TimeSpan<​!-- System.TimeSpan --> ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Layer --> +Event Arguments:​[[ThinkGeo.MapSuite.Core.DrawingWrappingFeaturesFeatureLayerEventArgs|DrawingWrappingFeaturesFeatureLayerEventArgs]]
-[[#Public Properties|Go Back]] +
-==== Transparency ==== +
-This property gets and sets the amount of transparency to apply to the image. +
-=== Return Value === +
-^ Return Type ^ +
-| Single<​!-- System.Single --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +** {{wiki:​PublicEvent.gif|}} DrawingException ** 
-[[#Public Properties|Go Back]] +  * //N/A// 
-==== WrappingExtent ==== +== Remarks ​== 
-=== Return Value === +  * //N/A//
-^ Return Type ^ +
-| [[ThinkGeo.MapSuite.PortableCore.RectangleShape|RectangleShape]]<​!-- ThinkGeo.MapSuite.PortableCore.RectangleShape --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +Event Arguments:[[ThinkGeo.MapSuite.Core.DrawingExceptionLayerEventArgs|DrawingExceptionLayerEventArgs]]
-[[#Public Properties|Go Back]] +
-==== WrappingMode ==== +
-Thie property gets or sets whether allow wrap date line. +
-=== Return Value === +
-^ Return Type ^ +
-[[ThinkGeo.MapSuite.PortableCore.WrappingMode|WrappingMode]]<!-- ThinkGeo.MapSuite.PortableCore.WrappingMode --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +** {{wiki:​PublicEvent.gif|}} DrawingProgressChanged ** 
-[[#Public Properties|Go Back]] +  * //N/A// 
-==== ZoomLevelSet ==== +== Remarks == 
-This property gets and sets the ZoomLevelSet,​ which contains the specific zoom levels for the FeatureLayer. +  * //N/A//
-=== Remarks ​=== +
-The ZoomLevelSet is a class that contains all of the ZoomLevels for the FeatureLayer. Each ZoomLevel contains the styles that are used to determine how to draw the InternalFeatures. +
-=== Return Value === +
-^ Return Type ^ +
-| [[ThinkGeo.MapSuite.PortableCore.ZoomLevelSet|ZoomLevelSet]]<​!-- ThinkGeo.MapSuite.PortableCore.ZoomLevelSet --> ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +Event Arguments:​[[ThinkGeo.MapSuite.Core.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]]
-[[#Public Properties|Go Back]] +
-===== Protected Properties ===== +
-==== IsOpenCore ==== +
-=== Return Value === +
-^ Return Type ^ +
-| Boolean<​!-- System.Boolean --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer(overriden) --> +** {{wiki:​PublicEvent.gif|}} DrawnException ** 
-[[#​Protected Properties|Go Back]] +  * //N/A// 
-===== Public Events ===== +== Remarks ​== 
-==== DrawingAttribution ==== +  * //N/A//
-=== Event Arguments === +
-^ Event Arguments ^ +
-| [[ThinkGeo.MapSuite.PortableCore.DrawingAttributionLayerEventArgs|DrawingAttributionLayerEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.DrawingAttributionLayerEventArgs --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +Event Arguments:[[ThinkGeo.MapSuite.Core.DrawnExceptionLayerEventArgs|DrawnExceptionLayerEventArgs]]
-[[#Public Events|Go Back]] +
-==== DrawingException ==== +
-=== Event Arguments ​=== +
-^ Event Arguments ^ +
-[[ThinkGeo.MapSuite.PortableCore.DrawingExceptionLayerEventArgs|DrawingExceptionLayerEventArgs]]<!-- ThinkGeo.MapSuite.PortableCore.DrawingExceptionLayerEventArgs --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +** {{wiki:​PublicEvent.gif|}} DrawingAttribution ** 
-[[#Public Events|Go Back]] +  * //N/A// 
-==== DrawingFeatures ==== +== Remarks == 
-This event is raised when features are about to be drawn in the layer. +  * //N/A//
-=== Remarks ​=== +
-This event is raised when features are about to be drawn in the layer. In the event arguments, there is a collection of features to be drawn. You can easily add or remove items from this collection so that extra items will draw or not draw. +
-=== Event Arguments === +
-^ Event Arguments ^ +
-| [[ThinkGeo.MapSuite.PortableCore.DrawingFeaturesEventArgs|DrawingFeaturesEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.DrawingFeaturesEventArgs --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +Event Arguments:[[ThinkGeo.MapSuite.Core.DrawingAttributionLayerEventArgs|DrawingAttributionLayerEventArgs]]
-[[#Public Events|Go Back]] +
-==== DrawingProgressChanged ==== +
-=== Event Arguments ​=== +
-^ Event Arguments ^ +
-[[ThinkGeo.MapSuite.PortableCore.DrawingProgressChangedEventArgs|DrawingProgressChangedEventArgs]]<!-- ThinkGeo.MapSuite.PortableCore.DrawingProgressChangedEventArgs --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +** {{wiki:​PublicEvent.gif|}} DrawnAttribution ** 
-[[#Public Events|Go Back]] +  * //N/A// 
-==== DrawingWrappingFeatures ==== +== Remarks ​== 
-=== Event Arguments === +  * //N/A//
-^ Event Arguments ^ +
-| [[ThinkGeo.MapSuite.PortableCore.DrawingWrappingFeaturesFeatureLayerEventArgs|DrawingWrappingFeaturesFeatureLayerEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.DrawingWrappingFeaturesFeatureLayerEventArgs --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.FeatureLayer --> +Event Arguments:[[ThinkGeo.MapSuite.Core.DrawnAttributionLayerEventArgs|DrawnAttributionLayerEventArgs]]
-[[#Public Events|Go Back]] +
-==== DrawnAttribution ==== +
-=== Event Arguments ​=== +
-^ Event Arguments ^ +
-[[ThinkGeo.MapSuite.PortableCore.DrawnAttributionLayerEventArgs|DrawnAttributionLayerEventArgs]]<!-- ThinkGeo.MapSuite.PortableCore.DrawnAttributionLayerEventArgs --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +** {{wiki:​PublicEvent.gif|}} RequestedDrawing ** 
-[[#Public Events|Go Back]] +  * //N/A// 
-==== DrawnException ==== +== Remarks ​== 
-=== Event Arguments === +  * //N/A//
-^ Event Arguments ^ +
-| [[ThinkGeo.MapSuite.PortableCore.DrawnExceptionLayerEventArgs|DrawnExceptionLayerEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.DrawnExceptionLayerEventArgs --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +Event Arguments:[[ThinkGeo.MapSuite.Core.RequestedDrawingLayerEventArgs|RequestedDrawingLayerEventArgs]]
-[[#Public Events|Go Back]] +
-==== RequestedDrawing ==== +
-=== Event Arguments ​=== +
-^ Event Arguments ^ +
-[[ThinkGeo.MapSuite.PortableCore.RequestedDrawingLayerEventArgs|RequestedDrawingLayerEventArgs]]<!-- ThinkGeo.MapSuite.PortableCore.RequestedDrawingLayerEventArgs --> ​  |+
  
-<!-- ThinkGeo.MapSuite.PortableCore.Layer --> +** {{wiki:​PublicEvent.gif|}} RequestingDrawing ​** 
-[[#Public Events|Go Back]] +  * //N/A// 
-==== RequestingDrawing ​==== +== Remarks ​== 
-=== Event Arguments === +  * //N/A//
-^ Event Arguments ^ +
-| [[ThinkGeo.MapSuite.PortableCore.RequestingDrawingLayerEventArgs|RequestingDrawingLayerEventArgs]]<​!-- ThinkGeo.MapSuite.PortableCore.RequestingDrawingLayerEventArgs --> ​  |+
  
-<​!-- ​ThinkGeo.MapSuite.PortableCore.Layer --> +Event Arguments:​[[ThinkGeo.MapSuite.Core.RequestingDrawingLayerEventArgs|RequestingDrawingLayerEventArgs]]
-[[#Public Events|Go Back]]+
  
-__NOTOC__ 
-[[Category:​MapSuitePortableCore]] 
-[[Category:​ThinkGeo.MapSuite.PortableCore]] 
-[[Category:​UpdateDocumentation]] 
  
thinkgeo.mapsuite.portablecore.inmemoryfeaturelayer.1440040132.txt.gz · Last modified: 2015/09/21 08:10 (external edit)