以编程方式移动MapLayer子元素

时间:2016-08-24 10:32:25

标签: c# wpf bing-maps

我有一个带有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应用程序(通常使用表单),也许这就是它的完成方式?

2 个答案:

答案 0 :(得分:0)

Microsoft github页面上的Windows-universal-samples可以帮助您。有一个MapControl示例,您可以在其中获得一些想法。

此示例演示如何在UWP应用程序中使用通用地图控件(MapControl)。

  • MapControl基础:调整ZoomLevel,Heading,DesiredPtich和map stype
  • 在地图上添加兴趣点:PushPins,图片和形状
  • 在地图上添加XAML叠加层
  • 在MapControl中显示3D位置
  • 在MapControl中显示街边经验
  • 使用URI方案启动地图

网址:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MapControl

在这个例子之后,如果还有更多问题,请在此处发帖解决。

我认为,最好的方法是为此XAML获取一个模型,您可以在其中更新此属性。

答案 1 :(得分:0)