|
You have 2 ways to go:
(1) Create any UIElement to pass into PushPinLayer.AddChild. The AddChild method will accept and any UIElement, such as an image in this case:
MapLayer m_PushpinLayer =newMapLayer();Your_Map.Children.Add(m_PushpinLayer);Image image =newImage();
image.Source=ResourceFile.GetBitmap("Images/Me.png",From.This);
image.Width=40;
image.Height=40;
m_PushpinLayer.AddChild(image,newMicrosoft.Maps.MapControl.Location(42.658,-71.137),PositionOrigin.Center);
(2) Create a native PushPin objects to pass into PushpinLayer.AddChild, but first set it's Template property. Note that PushPin's are ContentControls, and have a Template property that can be set from a Resource defined in XAML:
MapLayer m_PushpinLayer =newMapLayer();Your_Map.Children.Add(m_PushpinLayer);Pushpin pushpin =newPushpin();
pushpin.Template=Application.Current.Resources["PushPinTemplate"]as(ControlTemplate);
m_PushpinLayer.AddChild(pushpin,newMicrosoft.Maps.MapControl.Location(42.658,-71.137),PositionOrigin.Center);<ResourceDictionary
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"><ControlTemplate x:Key="PushPinTemplate"><Grid><EllipseFill="Green"Width="15"Height="15"/></Grid></ControlTemplate></ResourceDictionary>
|
<ControlTemplate x:Key="PushpinControlTemplate1" TargetType="Maps:Pushpin">
<Grid >
<Image Source="/Images/chat.recording.png" Height="20" Width="30"></Image>
</Grid>
</ControlTemplate>
想要什么类型的 Pushpin,直接将ControlTemplate Grid放进什么东西去就可