Closed uncledoc closed 12 years ago
"Из коробки" в мапките такой фичи нет.
Пожалуйста поподробней. Какие группы? Как вы ожидаете они должны отображаться, как себя вести? Если идея окажется стоящей, реализуем.
Но вы можете располагать на карте любые контролы, надо лишь задать контролу координаты через Attached свойство MapLayer.Location.
Можно сделать так же само как в API ваших карт для android. Карта может содержать множество слоев, а слои в свою очередь - множество контролов (в том числе и PushPin), в слоях мы можем удалять и добавлять контролы. При вызове у карты метода типа invalidate() - карта перерисовуется на основе слоев. Так же неплохо было бы добавить в слои что-то типа Z-index, для того чтобы регулировать какой слой будет рендерится поверх другого.
Например: у нас есть система которая отслеживает передвижение маршрутного такси по городу. В один слой мы поместим линии маршрута, во второй PushPin с местами остановок, а в третий слой мы будем раз в 10 секунд рисовать PushPin'ы с текущим местоположением маршрутных такси.
Ааа, вы об этом. Конечно так можно. контрол Map это ContentControl. В него можно класть что угодно, в том числе MapLayer, который является панелью. В него можно класть пушпины либо другие MapLayer. Пушпины показываются с учётом zindex. В общем смотрите примеры
Проблема в том что у MapLayer нет метода типа remove который позволял удалять элементы, в тоге сейчас при малейшем изменении данных - нужно пересоздавать MapLayer и сетить его в Map.Content со всеми вытекающими последствиями.
MapLayer - наследник Panel. Чтобы добавить или удалить контрол с панели, используется коллекция MapLayer.Children
<Map ...>
var pushPin = new PushPin(); foo.Children.Add(pushPin); ... foo.Children.Remove(pushPin);
Для перемещения одного и того же пушпина по карте рекомендую не пересоздавать его, а изменять свойство Location
Ага, теперь понятно, спасибо большое! Intellisense в студии почему то не отображает методы и свойства родителей.
Добрый день. Подскажите пожалуйста, как создавать группы PushPin'ов а потом обновлять их?