Silverlight - Bing地图 - 自定义图钉样式

use*_*192 4 silverlight

如何在Bing Maps Silverlight控件上自定义图钉的样式?我查看了此处显示的文档(http://www.microsoft.com/maps/isdk/silverlightbeta/#MapControlInteractiveSdk.Tutorials.TutorialCustomPushpin).但是,我正在以编程方式添加可变数量的Pushpins.理想情况下,我希望能够设置每个推送的风格,但我不知道如何.

Jim*_*rdy 6

你有两种方法:

(1)创建任何UIElement以传递到PushPinLayer.AddChild.AddChild方法将接受任何UIElement,例如本例中的图像:

MapLayer m_PushpinLayer = new MapLayer();
Your_Map.Children.Add(m_PushpinLayer);
Image image = new Image();
image.Source = ResourceFile.GetBitmap("Images/Me.png", From.This);
image.Width = 40;
image.Height = 40;
m_PushpinLayer.AddChild(image,
    new Microsoft.Maps.MapControl.Location(42.658, -71.137),  
        PositionOrigin.Center);
Run Code Online (Sandbox Code Playgroud)

(2)创建一个本机PushPin对象以传递到PushpinLayer.AddChild,但首先设置它的Template属性.请注意,PushPin是ContentControls,并且具有可以从XAML中定义的资源设置的Template属性:

MapLayer m_PushpinLayer = new MapLayer();
Your_Map.Children.Add(m_PushpinLayer);
Pushpin pushpin = new Pushpin();
pushpin.Template = Application.Current.Resources["PushPinTemplate"]  
    as (ControlTemplate);
m_PushpinLayer.AddChild(pushpin,
    new Microsoft.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>
            <Ellipse Fill="Green" Width="15" Height="15" />
        </Grid>
    </ControlTemplate>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)