0

我有 ArcGIS Windows Runtime Esri 项目,我的 XAML 是这样的:

<esri:MapView x:Name="MyMapView">

<esri:MapView.Overlays>
    <esri:OverlayItemsControl>
            <Grid MaxWidth="350">
                <TextBlock Text="Details" FontWeight="Bold" Margin="0,0,0,4" />
            </Grid>
        </Border>
    </esri:OverlayItemsControl>
</esri:MapView.Overlays>

</esri:MapView>

我想在代码后面而不是从 XAML 中添加OverlaysOverlayItemsControl

我在后面的 C# 代码中尝试过这样的事情:

MapView mapView = new MapView();
mapView.Overlays.ItemsSource = new List<object> { new TextBlock() { Text = "Details", Name = "overLay" } };
mapView.Overlays.Items.Clear();
mapView.Overlays.Items.Add(MyMapView.Overlays.ItemsSource);

但它给出了错误。我不知道这里到底出了什么问题。

如何Overlays, Grid, Textblock从 Esri 后面的代码中添加这些控件MapView

4

1 回答 1

0

我正在通过代码在给定的地图点(mp)处绘制一个文本框:

TextBox tbMsg = new TextBox();
tbMsg.Width = 250;
tbMsg.Height = 200;
tbMsg.Text = "Your Message";

tbMsg.GotFocus += Tb_GotFocus;
tbMsg.Visibility = Visibility.Visible;


Esri.ArcGISRuntime.Controls.MapView.SetViewOverlayAnchor(tbMsg, mp);
MyMapView.Overlays.Items.Add(tbMsg);
于 2017-05-17T04:16:24.583 回答