RUS  ENG 

Обновление карты после очистки слоя

Страницы: 1
RSS
Обновление карты после очистки слоя
 
Добрый день!

Очищаю слой
ZuluTools zt = new ZuluTools();
zt.LayerEmpty(layer.Name);

элементы слоя не пропадают.

пробую обновить карту
MapControl.Refresh();
MapControl.Update();
MapControl.Invalidate();
layer.Visible = false;
layer.Visible = true;

элементы очищенного слоя на месте.

единственное, что работает - изменение экстента, - слой обновляется и элементы исчезают.

в чем может быть дело и какая команда обновления используется при изменении экстента. Можно ли ее вызвать напрямую?
 
На Visual Basic при очистке слоя карта перестраивается. В любом случае она перестроится, если вызвать MapCtrl1.Redraw
 
Lyosha, Refresh тоже использовался, не помогает.

Кроме того, есть другие странности.
В карту подгружается zmp-документ. Оформление подписей слоев сделано в настройках документа через редактор Zulu 7.
Затем к слоям получаем доступ через код
_firesLayer = _mapManager.MapControl.Map.Layers[9];
_fireStationsLayer = _mapManager.MapControl.Map.Layers[8];

в слой добавляются точки с символами. Соответственно появляются символы и подписи с оформлением. У одних точек есть символ и нет подписи, у других нет символа, но есть подпись. У большинства есть и символ и подпись.

Если посмотреть этот документ через редактор Zulu, там есть и символы и подписи для всех объектов. В чем дело непонятно.

Из-за проблем с загрузкой компонент Zulu в нашем WPF-проекте в VS2012 используются обертки, позволяющие инициализировать Zulu-компоненты. Могут ли проблемы с отображением-затиранием объектов на слое связаны с этим?

Какие функции обновления вызываются при смене экстента карты?
 
Вы сообщите свой телефон для связи на [email protected]
 
Lyosha, спасибо за подсказку.
Метод SetLabelLayer помог для непрорисовывающихся подписей.

По вопросу обновления после очистки слоя, - нашел-таки работающий вариант
MapControl.Map.Refresh(true);
 
В обновлении добавлен метод LabelLayers.ItemById(Id).Update
Страницы: 1