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

Posted

技术标签:

【中文标题】在 UWP 应用程序中单击 MapControl 时如何添加 MapIcon【英文标题】:How to add MapIcon when clicked on MapControl in UWP app 【发布时间】:2021-09-08 07:55:15 【问题描述】:

我有一个地图控制元素 (XAML):

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

我正在地图上放置一个带有已知纬度和经度数字的 MapIcon:

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;

        

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

有什么帮助吗?

【问题讨论】:

【参考方案1】:

使用maps tapped event。

类似:

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

    //Add code to add your pin.
;

【讨论】:

以上是关于在 UWP 应用程序中单击 MapControl 时如何添加 MapIcon的主要内容,如果未能解决你的问题,请参考以下文章

在 UWP MapControl 中将点投影到 3D 地形表面

如何从UWP Map上的MapIcon中删除点和尾

在 UWP 中单击汉堡菜单项时如何提高应用程序性能?

如何在按钮单击时关闭 uwp 中的吐司

单击通知时阻止打开 UWP 应用程序

从 ListViewItem 单击 UWP 按钮