Я пытаюсь добавить на карту несколько кнопок, которые исчезают, когда вы достаточно уменьшаете масштаб, чтобы сделать кнопки настолько маленькими, что они больше не отображаются.
Мне удалось добиться этого эффекта с помощью следующего кода:
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);
Это не работает. Изображение появляется в определенной точке мира, но когда я уменьшаю масштаб, изображение сохраняет свой размер. Я считаю, что проблема вызвана отсутствием некоторого прямоугольника, ограничивающего полигон, но я не могу найти ничего, с чего можно начать. Пожалуйста помоги.