Добрый вечер, попробую объяснить и показать суть проблемы.
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).
Видео как все выглядит :
youtube
Если кто-то сталкивался с такой проблемой, прошу помощи. И да, на картах от wp7, этот глюк не воспроизводится,
но их использовать уже не желательно.