2010-12-17 44 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也使用綁定得到稍微更復雜的解決方案。