Table of Contents

Class MapShapeLayer

Namespace
ThinkGeo.Core
Assembly
ThinkGeo.Core.dll

Ideally I would want to make this inherit from the FeatureLayer so you could do spatial queries. In the interests of time I inherited from the Layer to make things simple and show the point of how easy it is to extend Map Suite. When we roll this into the main product we may create a FeatureSource and FeatureLayer.

public class MapShapeLayer : Layer
Inheritance
MapShapeLayer
Inherited Members

Constructors

MapShapeLayer()

This is the default constructor for the MapShapeLayer.

public MapShapeLayer()

Remarks

None

Properties

MapShapes

Get all the map shapes with the keys.

public Dictionary<string, MapShape> MapShapes { get; }

Property Value

Dictionary<string, MapShape>

Methods

DrawCore(GeoCanvas, Collection<SimpleCandidate>)

This method draws the MapShapeLayer.

protected override void DrawCore(GeoCanvas canvas, Collection<SimpleCandidate> labelsInAllLayers)

Parameters

canvas GeoCanvas

This parameter is the view object or a NativeImage to draw on.

labelsInAllLayers Collection<SimpleCandidate>

This parameter represents the labels used for collision detection and duplication checking.

Remarks

When implementing this abstract method, consider each feature and its column data values. You can use the full power of the GeoCanvas to do the drawing. If you need column data for a feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need to the collection. In many of the styles, we add properties that allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore, we read that property and add it to the collection.