1

我想在 windows phone 应用程序中添加 fontello 图标以动态映射。我不知道该怎么做。我可以在地图上添加一些形状,但我不知道如何添加 fontello 图标而不是椭圆。

public void pushPin(Microsoft.Phone.Maps.Controls.Map map, GeoCoordinate position)
    {

        map.Center = position;
        map.ZoomLevel = 9;

        Ellipse myCircle = new Ellipse();
        myCircle.Fill = new SolidColorBrush(Colors.Blue);
        myCircle.Height = 15;
        myCircle.Width = 15;
        myCircle.Opacity = 20;

        var mapOverLay = new MapOverlay();
        mapOverLay.Content = myCircle;

        mapOverLay.GeoCoordinate = position;

        var mapLayer = new MapLayer();
        mapLayer.Add(mapOverLay);

        map.Layers.Add(mapLayer);

       } 

带有 fontello 图标的地图

4

1 回答 1

1

您需要使用 TextBlock 作为 MapOverlay 内容,并将其 fontfamily 设置为您的字体,并将文本设置为您要使用的符号的 unicode 值。

假设您将字体文件 fontello.ttf 保存在根目录下,则应执行以下代码:

public void pushPin(Microsoft.Phone.Maps.Controls.Map map, GeoCoordinate position)
{

    map.Center = position;
    map.ZoomLevel = 9;

    TextBlock tb = new TextBlock();
    tb.FontFamily = new FontFamily("/fontello.ttf#fontello");
    tb.Text = "\uE800";

    var mapOverLay = new MapOverlay();
    mapOverLay.Content = tb;

    mapOverLay.GeoCoordinate = position;

    var mapLayer = new MapLayer();
    mapLayer.Add(mapOverLay);

    map.Layers.Add(mapLayer);  

}

希望能帮助到你。

于 2014-08-19T06:48:27.457 回答