C# WP7在地图上移动对象

C# WP7在地图上移动对象,c#,windows-phone-7,windows-phone,bing-maps,C#,Windows Phone 7,Windows Phone,Bing Maps,我在Windows Phone 7 MapLayer的地图控件上有一个图像,我需要能够移动它。这将是伟大的转换(动画),但不是必须的 假设我有一个名为pLayer的贴图层,我在其中添加了一个图像: Image img = new Image(); img.Source = new BitmapImage(new Uri("XXX.png")); pLayer.AddChild(img, new GeoCoordinate(LAT, LNG) ); 将其添加到MapLayer后,如何移动其位置

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

假设我有一个名为
pLayer
的贴图层,我在其中添加了一个图像:

Image img = new Image();
img.Source = new BitmapImage(new Uri("XXX.png"));
pLayer.AddChild(img, new GeoCoordinate(LAT, LNG) );
将其添加到MapLayer后,如何移动其位置


我可以访问
pLayer.children[KEY].Location
或其他什么吗?

我认为您需要创建一个与贴图控件大小相同的画布,然后将其作为贴图层的子对象添加,并将图像作为画布的子对象添加。这将使您能够通过处理触摸手势将图像绝对定位在画布上的任何位置。中的GestureService.GestureListener提供了使此操作更简单的事件。

我不知道是否有更简单的方法,但一个选项是从层中删除对象,然后将其重新添加到新位置

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);

还可以使用绑定给出一个稍微复杂一些的解决方案。

但是使用这个方案,您将失去自动地理定位地图上任何元素的巨大优势。