WP7在地图上移动对象

时间:2010-12-17 00:40:47

标签: c# windows-phone-7 windows-phone bing-maps

我在地图控件上的Windows Phone 7 MapLayer上有一个图像,我需要能够移动。改变它(动画)但不是必须的。

所以我假设我有一个名为pLayer的MapLayer并向其添加图像:

Image img = new Image();
img.Source = new BitmapImage(new Uri("XXX.png"));
pLayer.AddChild(img, new GeoCoordinate(LAT, LNG) );

在我将其添加到MapLayer [pLayer]后如何移动其位置?

我可以访问pLayer.Childeren[KEY].Location或其他内容吗?

2 个答案:

答案 0 :(得分:0)

我不知道是否有更简单的方法,但是一个optioin是从图层中删除对象,然后在新位置重新添加它。

Image img = ...some image loaded at a location on the map in the above code;
var ll = new GeoCoordinate(LAT, LNG);
Layer.Children.Remove(img);
Layer.AddChild(img, ll);

This answer也使用绑定提供了一个更复杂的解决方案。

答案 1 :(得分:-1)

我认为你需要创建一个与Map控件相同大小的Canvas,然后将其添加为地图图层的子画面,并将Image添加为Canvas的子画面。这应该使您能够通过处理触摸手势将图像绝对定位在画布上的任何位置。 Silverlight Toolkit for WP7中的GestureService.GestureListener提供了使事情变得更容易的事件。