我正在尝试向地图添加多个图钉,当您缩小到足够大时它们会消失,以使图钉变得如此之小,以至于它们不再被渲染。
我设法使用以下代码实现了这种效果:
MapPolygon shape = new MapPolygon();
GeoCoordinateCollection boundingLocations = CreateCircle(geoCoordinate, 0.1);
shape.Path = boundingLocations;
shape.FillColor = Color.FromArgb(0x55, 0xFF, 0xFF, 0x00);
shape.StrokeColor = Color.FromArgb(0xFF, 0xFF, 0x00, 0xFF);
shape.StrokeThickness = 4;
mapToDrawOn.MapElements.Add(shape);
但我真正想做的是用自定义图像填充多边形。图像必须放置在地图的特定点,并将其大小与缩放级别相关联。(就像上面的例子一样)这是我尝试使用的代码:
MapLayer layer = new MapLayer();
MapOverlay overlay = new MapOverlay();
Polygon polygon = new Polygon();
polygon.Points.Add(new Point(0, 0));
polygon.Points.Add(new Point(0, 75));
polygon.Points.Add(new Point(25, 0));
BitmapImage arrImg =
new BitmapImage(new Uri("/Images/arrow.png", UriKind.RelativeOrAbsolute));
ImageBrush imgBrush = new ImageBrush();
imgBrush.ImageSource = arrImg;
polygon.Fill = imgBrush;
overlay.Content = polygon;
//geoCoordinate is the argument of a method
overlay.GeoCoordinate = geoCoordinate;
layer.Add(overlay);
mapToDrawOn.Layers.Add(layer);
它不起作用。图像出现在世界的特定点,但是当我缩小时,图像保持其大小。我相信这个问题是由于缺少一些限制多边形的 Rectangle 引起的,但是我找不到任何可以开始的东西。请帮忙。