C# UWP不会在地图上显示基于地质点的图像

C# UWP不会在地图上显示基于地质点的图像,c#,uwp,geolocation,uwp-maps,C#,Uwp,Geolocation,Uwp Maps,我试着根据它的地理点来放一张图像。但是,该图像不会显示在地图上。我想确保当我们放大/缩小地图时,图像将保持不变,并根据其固定坐标调整其大小。我是否也必须在xaml页面中插入图像?目前我只在cs页面上添加图像 有人能告诉我怎么解决这个问题吗?在这段代码中,MapView是MapControl namespace HelpMe { public sealed partial class MainPage : Page { public MainPage()

我试着根据它的地理点来放一张图像。但是,该图像不会显示在地图上。我想确保当我们放大/缩小地图时,图像将保持不变,并根据其固定坐标调整其大小。我是否也必须在xaml页面中插入图像?目前我只在cs页面上添加图像

有人能告诉我怎么解决这个问题吗?在这段代码中,MapView是MapControl

namespace HelpMe
{

    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
            addImage();

        }

        //adding image
        public void addImage()
        {
            Image img = new Image();
            img.Height = 100;
            img.Width = 100;
            img.Source = new BitmapImage(new Uri("ms-appx:///Assets/Unknown.jpg"));
            img.RenderTransform = new CompositeTransform() { Rotation = 0 };
            MapControl.SetNormalizedAnchorPoint(img, new Point(0.5, 0.5));
            MapControl.SetLocation(img, new Geopoint(new BasicGeoposition() { Latitude = 0, Longitude = 0, Altitude = 0 }));
            MapView.Children.Add(img);

        }

    }  
}

您所拥有的看起来是正确的-您只需要将其添加到map控件实例的.Children,而不是页面。不需要设置渲染变换。您可以检查位图资源是否正确加载,以及您选择的基本地理位置是否在所需位置

    Image img = new Image();
    img.Height = 100;
    img.Width = 100;
    img.Source = new BitmapImage(new Uri("ms-appx:///Assets/YourBitmapName.jpg"));
    MapControl.SetNormalizedAnchorPoint(img, new Point(0.5, 0.5));
    MapControl.SetLocation(img, new Geopoint(new BasicGeoposition() { Latitude = 47, Longitude = -122, Altitude = 0 }, AltitudeReferenceSystem.Terrain));
    yourMapControlInstanceName.Children.Add(img);
请注意,对于这样的简单图像,最好使用MapIcon。这将比固定的XAML元素具有更高的性能,并与贴图移动更好地同步


如果希望图像在放大/缩小时自动缩放,则可以使用MapBillboard。

如何为MapControl创建实例?我尝试过:MapControl mapInstance=new MapControl()。。。。。。。。。。。。。maInstance.Children.Add(img);但它不起作用。当您声明映射控件(x:name=“xxxx”)时,映射控件实例名称将是您在XAML中设置的任何名称,或者如果您从代码隐藏添加映射控件,则将是您在其中使用的任何名称(注意:如果您是从代码隐藏中添加的,则还必须将其添加到页面可视化树的某个位置,以便显示-按照上面的方式创建它而不添加到可视化树将使其不可见)。这是我当前的xaml。我只是从代码隐藏中添加了图像。我是否也应该从xaml中添加图像?如果是,您介意告诉我怎么做吗?``一切看起来都很好-如果MapView是您的实例名,这就是您应该添加子项的内容。从代码隐藏中添加图像也可以-下一步,我将检查您的图像是否加载正常,或者改用MapIcon或MapBillboard。您的问题解决了吗?您的代码似乎也可以正常工作。此外,您还可以查看。