2010-12-17 3 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

Я думаю, вам нужно создать холст того же размера, что и элемент управления «Карта», а затем добавить его как дочерний слой слоя карты и добавить изображение в качестве дочернего объекта холста. Это должно дать вам возможность позиционировать изображение абсолютно в любом месте на холсте, обрабатывая жесты касания. GestureService.GestureListener в Silverlight Toolkit for WP7 предоставляет события, которые делают это проще.

+0

Но с этим предложением вы теряете огромное преимущество автоматического геолокации любого UIElement, который вы положили на карту. – 2011-10-18 22:07:04

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 также дают несколько более сложное решение с использованием связывания.