MapIcon MapIcon MapIcon MapIcon Class


Displays an image such as a pushpin with optional text on a MapControl. Use the default image or provide a custom image.

public : sealed class MapIcon : MapElement
struct winrt::Windows::UI::Xaml::Controls::Maps::MapIcon : MapElement
public sealed class MapIcon : MapElement
Public NotInheritable Class MapIcon Inherits MapElement

Windows 10 requirements

Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)


Display pushpins, images, and shapes on the MapControl by adding them to its MapElements collection.

  • Display an image such as a pushpin with optional text by using the MapIcon class. Keep the default image or provide a custom image.
  • Define and display a MapPolygon or a MapPolyline. Alternately, to display XAML elements on the MapControl, add them to its Children collection.

If you don't explicitly set an Altitude and AltitudeReferenceSystem, the MapIcon will be placed on the surface.


When you display a MapIcon image that points to a specific location on the map - for example, a pushpin or an arrow - consider setting the value of the NormalizedAnchorPoint property to the approximate location of the pointer on the image. If you leave the value of NormalizedAnchorPoint at its default value of (0, 0), which represents the upper left corner of the image, changes in the ZoomLevel of the map may leave the image pointing to a different location.


MapIcon() MapIcon() MapIcon() MapIcon()

Initializes a new instance of the MapIcon class.


CollisionBehaviorDesired CollisionBehaviorDesired CollisionBehaviorDesired CollisionBehaviorDesired

Gets or sets the behavior of a MapIcon when it collides with other map features due to zoom level.

CollisionBehaviorDesiredProperty CollisionBehaviorDesiredProperty CollisionBehaviorDesiredProperty CollisionBehaviorDesiredProperty

Identifies the CollisionBehaviorDesired dependency property.

Dispatcher Dispatcher Dispatcher Dispatcher

Gets the CoreDispatcher that this object is associated with. The CoreDispatcher represents a facility that can access the DependencyObject on the UI thread even if the code is initiated by a non-UI thread.

(Inherited from DependencyObject)
Image Image Image Image

Gets or sets the image for the MapIcon. Provide an optional custom image to replace the default point of interest (POI) image. The following stream formats are supported:

  • PNG - a compressed PNG formatted stream
  • JPG - a compressed JPG formatted stream
  • BMP - an uncompressed BMP format stream
  • Raw RGB bytes. The size of the image is assumed to be square. This is only valid for a stream with an integral square root length.
IsEnabled IsEnabled IsEnabled IsEnabled

Indicates whether users can interact with the MapElement.

(Inherited from MapElement)
IsEnabledProperty IsEnabledProperty IsEnabledProperty IsEnabledProperty

Identifies the IsEnabled dependency property.

(Inherited from MapElement)
Location Location Location Location

Gets or sets the geographic location of the MapIcon on the MapControl. The location is the geographic location on the MapControl at which the NormalizedAnchorPoint of the MapIcon is positioned.

LocationProperty LocationProperty LocationProperty LocationProperty

Identifies the Location dependency property.

MapStyleSheetEntry MapStyleSheetEntry MapStyleSheetEntry MapStyleSheetEntry

Gets or sets the name of an entry in the map's style sheet that you'd like to apply to this MapElement.

(Inherited from MapElement)
MapStyleSheetEntryProperty MapStyleSheetEntryProperty MapStyleSheetEntryProperty MapStyleSheetEntryProperty

Identifies for the MapStyleSheetEntry dependency property.

(Inherited from MapElement)
MapStyleSheetEntryState MapStyleSheetEntryState MapStyleSheetEntryState MapStyleSheetEntryState

Gets or sets the name of the state of this MapElement. If the style sheet defines a style for that state, that style is applied to this element. Values defined in the style sheet for the state override values defined in the MapStyleSheetEntry.

(Inherited from MapElement)
MapStyleSheetEntryStateProperty MapStyleSheetEntryStateProperty MapStyleSheetEntryStateProperty MapStyleSheetEntryStateProperty

Identifies for the MapStyleSheetEntryState dependency property.

(Inherited from MapElement)
MapTabIndex MapTabIndex MapTabIndex MapTabIndex

Gets or sets a value that determines the order in which elements of the MapControl receive focus when the user navigates through those elements by pressing the Tab key.

(Inherited from MapElement)
MapTabIndexProperty MapTabIndexProperty MapTabIndexProperty MapTabIndexProperty

Identifies the MapTabIndex dependency property.

(Inherited from MapElement)
NormalizedAnchorPoint NormalizedAnchorPoint NormalizedAnchorPoint NormalizedAnchorPoint

Gets or sets the anchor point of the MapIcon. The anchor point is the point on the MapIcon that is positioned at the point on the MapControl specified by the Location property.

NormalizedAnchorPointProperty NormalizedAnchorPointProperty NormalizedAnchorPointProperty NormalizedAnchorPointProperty

Identifies the NormalizedAnchorPoint dependency property.

Tag Tag Tag Tag

Gets or sets an arbitrary object value that can be used to store custom information about this object.

(Inherited from MapElement)
TagProperty TagProperty TagProperty TagProperty

Identifies the Tag dependency property.

(Inherited from MapElement)
Title Title Title Title

Gets or sets the optional text of the MapIcon.

TitleProperty TitleProperty TitleProperty TitleProperty

Identifies the Title dependency property.

Visible Visible Visible Visible

Gets or sets a value that indicates whether the MapElement is visible on the MapControl.

(Inherited from MapElement)
VisibleProperty VisibleProperty VisibleProperty VisibleProperty

Identifies the Visible dependency property.

(Inherited from MapElement)
ZIndex ZIndex ZIndex ZIndex

Gets or sets the z-index of the MapElement. A MapElement with a higher z-index is displayed on top of a MapElement with a lower z-index.

(Inherited from MapElement)
ZIndexProperty ZIndexProperty ZIndexProperty ZIndexProperty

Identifies the ZIndex dependency property.

(Inherited from MapElement)


ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty) ClearValue(DependencyProperty)

Clears the local value of a dependency property.

(Inherited from DependencyObject)
GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty) GetAnimationBaseValue(DependencyProperty)

Returns any base value established for a dependency property, which would apply in cases where an animation is not active.

(Inherited from DependencyObject)
GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty) GetValue(DependencyProperty)

Returns the current effective value of a dependency property from a DependencyObject.

(Inherited from DependencyObject)
ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty) ReadLocalValue(DependencyProperty)

Returns the local value of a dependency property, if a local value is set.

(Inherited from DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty,DependencyPropertyChangedCallback) RegisterPropertyChangedCallback(DependencyProperty,DependencyPropertyChangedCallback) RegisterPropertyChangedCallback(DependencyProperty,DependencyPropertyChangedCallback) RegisterPropertyChangedCallback(DependencyProperty,DependencyPropertyChangedCallback)

Registers a notification function for listening to changes to a specific DependencyProperty on this DependencyObject instance.

(Inherited from DependencyObject)
SetValue(DependencyProperty,Object) SetValue(DependencyProperty,Object) SetValue(DependencyProperty,Object) SetValue(DependencyProperty,Object)

Sets the local value of a dependency property on a DependencyObject.

(Inherited from DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty,Int64) UnregisterPropertyChangedCallback(DependencyProperty,Int64) UnregisterPropertyChangedCallback(DependencyProperty,Int64) UnregisterPropertyChangedCallback(DependencyProperty,Int64)

Cancels a change notification that was previously registered by calling RegisterPropertyChangedCallback.

(Inherited from DependencyObject)

See also