2010-12-17 87 views
1

我在地图控件上的Windows Phone 7 MapLayer上有一个图像,我需要移动它。将它变成(有生命的),但不是必须的。WP7在地图上移动对象

因此,可以说,我有一个名为MapLayer和pLayer将图片添加到它:

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什么吗?

回答

-1

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

+0

但是有了这个建议,你失去了自动地理定位你放在地图上的任何UIElement的巨大优势。 – 2011-10-18 22:07:04

0

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

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也使用绑定得到稍微更复杂的解决方案。