在 UWP 应用程序中单击 MapControl 时如何添加 MapIcon

问题描述

我有一个 mapcontrol 元素 (XAML):

<Custom:MapControl 
           Name="MyMap"  
           Style="Terrain"                          
           ZoomInteractionMode="GestureAndControl"  
           TiltInteractionMode="GestureAndControl"    
           MapServicetoken="My key2" ZoomLevel="12"/>
    

我在地图上放置了一个地图图标,其中包含已知的纬度和经度数字:

public void InitMap()
        {
            // Get position
            Geopoint Home = new Geopoint(new BasicGeoposition() { Latitude = 50,Longitude = 3 });
            // Create POI
            MapIcon myPOI_Home = new MapIcon { Location = Home,normalizedAnchorPoint = new Point(0,1.0),Title = "",ZIndex = 0 };
            myPOI_Home.Image = RandomAccessstreamReference.CreateFromUri(new Uri("ms-appx:///Assets/Home.png"));
            // Add to map and center it
            MyMap.MapElements.Add(myPOI_Home);
            MyMap.Center = Home;
            MyMap.ZoomLevel = 16;
            MyMap.LandmarksVisible = false;

        }

我希望在您点击地图时发生这种情况。因此,无论您在何处单击地图,它都会将图标放置在这些坐标处。

有什么帮助吗?

解决方法

使用 maps tapped event

类似于:

MyMap.MapTapped += (object sender,MapInputEventArgs args) => {
    var loc = args.Location;

    //Add code to add your pin.
};