Попробую объяснить и показать суть проблемы.
1. Имеется карта из SDK от WP8.
2. Нужно динамически добавлять маркеры(PushPin) на карту.
Решение:
В момент получения ответа от сервера добавляю маркеры на карту:
MapLayer _allDriversLayer = new MapLayer();
{
...
foreach (var model in carsInfo.ToList())
{
var pushpin = new CarPushpin();
_allDriversLayer.Add(new MapOverlay
{
Content = pushpin, GeoCoordinate = model.GeoCoordinate, PositionOrigin = new Point(0.5, 1)
});
}
...
}
В момент инициализации вроде все отлично, маркеры на карте, карта двигается и работает, все хорошо.
Далее нужно менять маркеры: двигать, удалять и добавлять новые.
Проблема:
В момент удаления маркера происходит глюк, едва заметный на эмуляторе, но 100% воспроизводящийся на устройстве:
Маркер сдвигается в PositionOrigin = new Point(0, 0), и потом исчезает. Ключевой момент в этой проблеме в том, что используется маркер с центром по середине ширины, т.е. Point(0.5, 1).
Видео как все выглядит :
www.youtube.com/watch?v=7UWdd0laoB8
Если кто-то сталкивался с такой проблемой, прошу помощи. И да, на картах от wp7 этот глюк не воспроизводится, но их использовать уже нежелательно.