我想在Windows手机应用程序中添加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);
}
答案 0 :(得分: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);
}
希望它有所帮助。