1

たとえば、MapControl にいくつかの要素を追加する必要があります。

<Maps:MapControl HorizontalAlignment="Stretch"  VerticalAlignment="Stretch" Loaded="MapControl_Loaded" x:Name="mymap">
    <Rectangle x:Name="r1" Width="100" Height="100" Fill="Red"/>
    <Rectangle x:Name="r2" Width="20" Height="20" Fill="Green"/>
    <Rectangle x:Name="r3" Width="20" Height="20" Fill="Blue"/>
    <Rectangle x:Name="r4" Width="20" Height="20" Fill="Yellow"/>
    <Rectangle x:Name="r5" Width="20" Height="20" Fill="Purple"/>
</Maps:MapControl>

コードを介して長方形の位置を設定します。

        MapControl.SetLocation(r1, new Geopoint(new BasicGeoposition() {
            Latitude = 45.6593049969524,
            Longitude = 8.97672694176435
        }));
        MapControl.SetNormalizedAnchorPoint(r1, new Point(0.5, 0.5));
        MapControl.SetLocation(r2, new Geopoint(new BasicGeoposition()
        {
            Latitude = 45.6592821981758,
            Longitude = 8.97627767175436
        }));
        MapControl.SetNormalizedAnchorPoint(r2, new Point(0.5, 0.5));
        MapControl.SetLocation(r3, new Geopoint(new BasicGeoposition()
        {
            Latitude = 45.6589662004262,
            Longitude = 8.97650314494967
        }));
        MapControl.SetNormalizedAnchorPoint(r3, new Point(0.5, 0.5));
        MapControl.SetLocation(r4, new Geopoint(new BasicGeoposition()
        {
            Latitude = 45.6604913715273,
            Longitude = 8.97657556459308
        }));
        MapControl.SetNormalizedAnchorPoint(r4, new Point(0.5, 0.5));
        MapControl.SetLocation(r5, new Geopoint(new BasicGeoposition()
        {
            Latitude = 45.6580915488303,
            Longitude = 8.97816779091954
        }));

長方形は最初 (r1) から最後 (r5) までレンダリングされるため、r5 は他と重なり、r4 は r3、r2、r1 などと重なります...

次に、別の長方形 (r6) を追加する必要がありますが、r1 の下に r6 が必要です。

    Rectangle r6 = new Rectangle();
    r6.Width = 70;
    r6.Height = 70;
    r6.Fill = new SolidColorBrush(Colors.Coral);
    mymap.Children.Insert(0, r6);
    MapControl.SetLocation(r6, new Geopoint(new BasicGeoposition()
    {
        Latitude = 45.6594054121524,
        Longitude = 8.97751081734896
    }));
    MapControl.SetNormalizedAnchorPoint(r6, new Point(0.5, 0.5));

「mymap.Children.Insert(0, r6);」を使用します。代わりに "Children.Add" を使用して r6 を最初の位置に配置しますが、機能せず、最後の要素であるかのようにレンダリングされます。

Canvas.SetZIndex を使用しようとしましたが、MapControl では機能しません。

問題は、r6 を MapControl に追加して最初の要素としてレンダリングするにはどうすればよいかということです。

4

1 に答える 1