2

マップに複数の画鋲を追加しようとしていますが、十分にズームアウトすると消えて画鋲が小さくなり、レンダリングされなくなります。

次のコードでこの効果を達成することができました。

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 がないことが原因であると考えていますが、最初から何も見つけることができません。助けてください。

4

1 に答える 1

2

これは、WP8 Maps でサポートされている機能ではありません。アイデアは、アイテムが Map.Layers に追加されると、一貫したルック アンド フィールを作成するためにズームで再スケーリングされないということです。Map.MapElements ポリラインやランドマークなど、一部のアイテムはサイズ変更できますが、それらは画像では機能しません。

アイテムをスケーリングする場合は、Map.ZoomLevelChanged にサインアップし、アイテムのスケーリングをプログラムで変更する必要があります。

将来のリリースでこれを確認することに興味がある場合は、wpdev uservoiceの提案に、ユースケースとその理由を記入してください。

于 2013-02-12T01:42:03.540 に答える