我有一个带有Microsoft.Maps.MapControl.WPF地图的应用程序,并添加了一些使用mapView.Children.Add(图层)的图层。 这些图层中的每一个都有不同类型的叠加层,这些叠加层是使用layer.Children.AddChild(image,locationRect)添加的图像。
我希望能够从代码中移动,调整大小和旋转这些对象(不是来自对它们一无所知的xaml),但我似乎无法做到前两个(旋转非常简单) )。
经过反复试验并找到一些非Microsoft文档后,我看到MapLayer.GetPositionRectangle(UIElement)返回了对象的正确位置,因此MapLayer.SetPositionRectangle()应该设置它是合乎逻辑的,但它没有&#39 ;我和我无法在网上找到任何以编程方式将对象移动到新的Lat / long的任何示例。
有没有办法在地图上移动地理对象,或者我必须将其删除并将其添加到正确的位置,或者只是将其移动到画布上的X / Y坐标中lat / long,这两者在某种程度上看起来都是错误的,但这是我的第一个WPF应用程序(通常使用表单),也许这就是它的完成方式?
答案 0 :(得分:0)
Microsoft github页面上的Windows-universal-samples
可以帮助您。有一个MapControl示例,您可以在其中获得一些想法。
此示例演示如何在UWP应用程序中使用通用地图控件(MapControl)。
网址:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MapControl
在这个例子之后,如果还有更多问题,请在此处发帖解决。
我认为,最好的方法是为此XAML获取一个模型,您可以在其中更新此属性。
答案 1 :(得分:0)
您可以做的是通过代码将标准过渡应用于图像。您可以使用MapLayer.SetPosition将其链接到地图上的某个位置。您可能希望使用位置原点/偏移或边距来将图像的特定点与位置对齐。
https://msdn.microsoft.com/en-us/library/microsoft.maps.mapcontrol.wpf.maplayer.setposition.aspx
https://msdn.microsoft.com/en-us/library/microsoft.maps.mapcontrol.wpf.positionorigin.aspx