====== ThinkGeo.UI.Wpf.Overlay ====== ===== Inheritance Hierarchy ===== *System.Object ***ThinkGeo.UI.Wpf.Overlay** *[[ThinkGeo.UI.Wpf.AdornmentOverlay]] *[[ThinkGeo.UI.Wpf.InteractiveOverlay]] *[[ThinkGeo.UI.Wpf.MarkerOverlay]] *[[ThinkGeo.UI.Wpf.TileOverlay]] *[[ThinkGeo.UI.Wpf.BackgroundOverlay]] *[[ThinkGeo.UI.Wpf.BuildingOverlay]] *[[ThinkGeo.UI.Wpf.PopupOverlay]] ===== Members Summary ===== ==== Public Constructors ==== ==== Protected Constructors ==== ** {{wiki:ProtectedMethod.gif|}} Overlay() ** * //Constructor of the Overlay class.// == Remarks == * //N/A// == Parameters ==
==== Public Methods ==== ** {{wiki:PublicMethod.gif|}} Initialize(MapArguments) ** * //N/A// == Remarks == * //This is a wrapper method for the virtual method InitializeCore.// == Return Value == * Type:Void * Description:N/A == Parameters == * //mapArguments// * Type:[[ThinkGeo.UI.Wpf.MapArguments|MapArguments]] * Description:This parameter maintains current map information for calculating mechanism.
** {{wiki:PublicMethod.gif|}} Refresh(RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //extent// * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:PublicMethod.gif|}} Refresh() ** * //N/A// == Remarks == * //The difference from Draw() method is that Refresh() method refreshs all the elements while Draw() does not.// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Close() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Open() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Draw(RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //targetExtent// * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:This parameter indicates an extent in world coordinate for drawing the overlay.
** {{wiki:PublicMethod.gif|}} Draw(RectangleShape,OverlayRefreshType) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //targetExtent// * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:This parameter indicates an extent in world coordinate for drawing the overlay. * //refreshType// * Type:[[ThinkGeo.UI.Wpf.OverlayRefreshType|OverlayRefreshType]] * Description:This parameter indicates whether the elements of this overlay needs to be refreshed. For example, TileOverlay is formed by tiles. When panning the map around, the existing tile doesn't need to be redraw, the only thing we need to do is modifying the position of these tiles. On another hand, when click to change the style of the overlay, we need to redraw the tile images to change the appearance. So we need refresh mode.
** {{wiki:PublicMethod.gif|}} PanTo(RectangleShape) ** * //N/A// == Remarks == * //Some overlay doesn't need to continously drawing all the tile. For example, MarkerOverlay is formed by markers. When mouse down to pan, the markers don't need to redraw, we can only change its position. When mouse up to end panning, we can redraw the overlay for better performance.// == Return Value == * Type:Void * Description:N/A == Parameters == * //targetExtent// * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:This parameter is the target world extent for panning.
** {{wiki:PublicMethod.gif|}} GetBoundingBox() ** * //N/A// == Remarks == * //This method is the concrete wrapper for the abstract method GetBoundingBoxCore. This method returns the bounding box of the Overlay. 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.// == Return Value == * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:A RectangleShape indicating the bounding box of this overlay == Parameters ==
** {{wiki:PublicMethod.gif|}} SaveState() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Byte[] * Description:A byte array indicates current overlay state. == Parameters ==
** {{wiki:PublicMethod.gif|}} LoadState(Byte[]) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //state// * Type:Byte[] * Description:This parameter indicates the state for restore the overlay.
** {{wiki:PublicMethod.gif|}} Dispose() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Refresh(IEnumerable) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //extentsToRefresh// * Type:IEnumerable<[[ThinkGeo.Core.RectangleShape|RectangleShape]]> * Description:N/A
** {{wiki:PublicMethod.gif|}} Refresh(TimeSpan) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //bufferTime// * Type:TimeSpan * Description:N/A
** {{wiki:PublicMethod.gif|}} Refresh(TimeSpan,RequestDrawingBufferTimeType) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //bufferTime// * Type:TimeSpan * Description:N/A * //bufferTimeType// * Type:[[ThinkGeo.Core.RequestDrawingBufferTimeType|RequestDrawingBufferTimeType]] * Description:N/A
** {{wiki:PublicMethod.gif|}} Refresh(RectangleShape,TimeSpan) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //extentToRefresh// * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:N/A * //bufferTime// * Type:TimeSpan * Description:N/A
** {{wiki:PublicMethod.gif|}} Refresh(RectangleShape,TimeSpan,RequestDrawingBufferTimeType) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //extentToRefresh// * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:N/A * //bufferTime// * Type:TimeSpan * Description:N/A * //bufferTimeType// * Type:[[ThinkGeo.Core.RequestDrawingBufferTimeType|RequestDrawingBufferTimeType]] * Description:N/A
** {{wiki:PublicMethod.gif|}} Refresh(IEnumerable,TimeSpan) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //extentsToRefresh// * Type:IEnumerable<[[ThinkGeo.Core.RectangleShape|RectangleShape]]> * Description:N/A * //bufferTime// * Type:TimeSpan * Description:N/A
** {{wiki:PublicMethod.gif|}} Refresh(IEnumerable,TimeSpan,RequestDrawingBufferTimeType) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //extentsToRefresh// * Type:IEnumerable<[[ThinkGeo.Core.RectangleShape|RectangleShape]]> * Description:N/A * //bufferTime// * Type:TimeSpan * Description:N/A * //bufferTimeType// * Type:[[ThinkGeo.Core.RequestDrawingBufferTimeType|RequestDrawingBufferTimeType]] * Description:N/A
** {{wiki:PublicMethod.gif|}} GetType() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Type * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} ToString() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String * Description:N/A == Parameters ==
** {{wiki:PublicMethod.gif|}} Equals(Object) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Boolean * Description:N/A == Parameters == * //obj// * Type:Object * Description:N/A
** {{wiki:PublicMethod.gif|}} GetHashCode() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Int32 * Description:N/A == Parameters ==
===== Protected Methods ===== ** {{wiki:ProtectedMethod.gif|}} InitializeCore(MapArguments) ** * //N/A// == Remarks == * //When implementing this method, consider initializing the overlay canvas such as setting its z-index, setting current map reference to the CurrentMap property.// == Return Value == * Type:Void * Description:N/A == Parameters == * //mapArguments// * Type:[[ThinkGeo.UI.Wpf.MapArguments|MapArguments]] * Description:This parameter maintains current map information for calculating mechanism.
** {{wiki:ProtectedMethod.gif|}} RefreshCore(RectangleShape) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //extent// * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} RefreshCore() ** * //N/A// == Remarks == * //The difference from Draw() method is that Refresh() method refreshs all the elements while Draw() does not.// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} CloseCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} OpenCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} DrawCore(RectangleShape,OverlayRefreshType) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //targetExtent// * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:This parameter indicates an extent in world coordinate for drawing the overlay. * //overlayRefreshType// * Type:[[ThinkGeo.UI.Wpf.OverlayRefreshType|OverlayRefreshType]] * Description:This parameter indicates whether the elements of this overlay needs to be refreshed. For example, TileOverlay is formed by tiles. When panning or zooming the map, the existing tile doesn't need to be redraw, because the styles are the same as the previous states. the only thing we need to do is modifying the position of these tiles. On another hand, when click to change the style of the overlay, we need to redraw the tile images to change the appearance. So we need refresh mode.
** {{wiki:ProtectedMethod.gif|}} DrawAttribution(GeoCanvas) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //canvas// * Type:[[ThinkGeo.Core.GeoCanvas|GeoCanvas]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} DrawAttributionCore(GeoCanvas) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //canvas// * Type:[[ThinkGeo.Core.GeoCanvas|GeoCanvas]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} OnDrawingAttribution(DrawingAttributionOverlayEventArgs) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //args// * Type:[[ThinkGeo.UI.Wpf.DrawingAttributionOverlayEventArgs|DrawingAttributionOverlayEventArgs]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} OnDrawnAttribution(DrawnAttributionOverlayEventArgs) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //args// * Type:[[ThinkGeo.UI.Wpf.DrawnAttributionOverlayEventArgs|DrawnAttributionOverlayEventArgs]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} PanToCore(RectangleShape) ** * //N/A// == Remarks == * //Some overlay doesn't need to continously drawing all the tile. For example, MarkerOverlay is formed by markers. When mouse down to pan, the markers don't need to redraw, we can only change its position. When mouse up to end panning, we can redraw the overlay for better performance.// == Return Value == * Type:Void * Description:N/A == Parameters == * //targetExtent// * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:This parameter is the target world extent for panning.
** {{wiki:ProtectedMethod.gif|}} OnDrawing(DrawingOverlayEventArgs) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //e// * Type:[[ThinkGeo.UI.Wpf.DrawingOverlayEventArgs|DrawingOverlayEventArgs]] * Description:This parameter is the event argument for Drawing event.
** {{wiki:ProtectedMethod.gif|}} OnDrawn(DrawnOverlayEventArgs) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //e// * Type:[[ThinkGeo.UI.Wpf.DrawnOverlayEventArgs|DrawnOverlayEventArgs]] * Description:This parameter is the event argument for Drawn event.
** {{wiki:ProtectedMethod.gif|}} GetBoundingBoxCore() ** * //N/A// == Remarks == * //This method returns the bounding box of the Overlay.// == Return Value == * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] * Description:This method returns the bounding box of the Overlay. == Parameters ==
** {{wiki:ProtectedMethod.gif|}} SaveStateCore() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Byte[] * Description:A byte array indicates current overlay state. == Parameters ==
** {{wiki:ProtectedMethod.gif|}} LoadStateCore(Byte[]) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //state// * Type:Byte[] * Description:This parameter indicates the state for restore the overlay.
** {{wiki:ProtectedMethod.gif|}} Finalize() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters ==
** {{wiki:ProtectedMethod.gif|}} Dispose(Boolean) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //disposing// * Type:Boolean * Description:N/A
** {{wiki:ProtectedMethod.gif|}} OnRefreshing(OverlayRefreshType) ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Void * Description:N/A == Parameters == * //refreshType// * Type:[[ThinkGeo.UI.Wpf.OverlayRefreshType|OverlayRefreshType]] * Description:N/A
** {{wiki:ProtectedMethod.gif|}} MemberwiseClone() ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Object * Description:N/A == Parameters ==
==== Public Properties ==== ** {{wiki:PublicProperty.gif|}} Name ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String ** {{wiki:PublicProperty.gif|}} MapArguments ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.UI.Wpf.MapArguments|MapArguments]] ** {{wiki:PublicProperty.gif|}} OverlayCanvas ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Canvas ** {{wiki:PublicProperty.gif|}} IsBase ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Boolean ** {{wiki:PublicProperty.gif|}} CanRefreshRegion ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Boolean ** {{wiki:PublicProperty.gif|}} DrawingExceptionMode ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.Core.DrawingExceptionMode|DrawingExceptionMode]] ** {{wiki:PublicProperty.gif|}} IsVisible ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Boolean ** {{wiki:PublicProperty.gif|}} Attribution ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:String ** {{wiki:PublicProperty.gif|}} IsEmpty ** * //N/A// == Remarks == * //This property enhances the performance of the overlay while drawing. If is true, we will skip drawing this overlay and continue drawing the next overlay.// == Return Value == * Type:Boolean ** {{wiki:PublicProperty.gif|}} AutoRefreshInterval ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:TimeSpan ==== Protected Properties ==== ** {{wiki:ProtectedProperty.gif|}} PreviousExtent ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:[[ThinkGeo.Core.RectangleShape|RectangleShape]] ** {{wiki:ProtectedProperty.gif|}} PreviousScale ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Double ** {{wiki:ProtectedProperty.gif|}} IsOverlayInitialized ** * //N/A// == Remarks == * //N/A// == Return Value == * Type:Boolean ==== Public Events ==== ** {{wiki:PublicEvent.gif|}} Drawing ** * //N/A// == Remarks == * //N/A// Event Arguments:[[ThinkGeo.UI.Wpf.DrawingOverlayEventArgs|DrawingOverlayEventArgs]] ** {{wiki:PublicEvent.gif|}} Drawn ** * //N/A// == Remarks == * //N/A// Event Arguments:[[ThinkGeo.UI.Wpf.DrawnOverlayEventArgs|DrawnOverlayEventArgs]] ** {{wiki:PublicEvent.gif|}} DrawingAttribution ** * //N/A// == Remarks == * //N/A// Event Arguments:[[ThinkGeo.UI.Wpf.DrawingAttributionOverlayEventArgs|DrawingAttributionOverlayEventArgs]] ** {{wiki:PublicEvent.gif|}} DrawnAttribution ** * //N/A// == Remarks == * //N/A// Event Arguments:[[ThinkGeo.UI.Wpf.DrawnAttributionOverlayEventArgs|DrawnAttributionOverlayEventArgs]]