Подписать объекты

0 голосов
спросил 13 Июль, 09 от Commrad1 (3,660 баллов) в категории Программные продукты Esri
Всем, добрый день. Помогите пожалуйста подписать слои в MapControl.
Заранее спасибо.

7 Ответы

0 голосов
ответил 13 Июль, 09 от invisibleshadow (780 баллов)
вам нужно отобразить подписи на слое?

0 голосов
ответил 13 Июль, 09 от Commrad1 (3,660 баллов)
Да. Если есть код. Буду очень презнателен.
0 голосов
ответил 13 Июль, 09 от invisibleshadow (780 баллов)
IGeoFeatureLayer lFeatureLayer = (IGeoFeatureLayer)aLayer;
lFeatureLayer.DisplayAnnotation = true;
lFeatureLayer.DisplayField = aFieldName;

aLayer - получен у MapControl'а, через GetLayer(int). предварительно нужно найти номер слоя по имени
aFieldName - имя поля, которое использовать для подписей
0 голосов
ответил 13 Июль, 09 от invisibleshadow (780 баллов)
        public ILayer GetLayerFromControl( string aLayerName  )
        {
            ILayer lResult = null;
            for (int idx = 0; idx < mMapCtrl.LayerCount; idx++)
            {
                ILayer lLayer = mMapCtrl.get_Layer(idx);
                if( lLayer.Name == aLayerName )
                {
                    lResult = lLayer;
                    break;
                }
            }


            return lResult;
        }

0 голосов
ответил 13 Июль, 09 от invisibleshadow (780 баллов)
как я понял - правильно сделать AnnotationLayer и в нем делать подписи, которые буду отображаться при разных масштабах. Но могу ошибаться.
0 голосов
ответил 13 Июль, 09 от Commrad1 (3,660 баллов)
Спасибо большое. Блин как все просто. Я целый день убил, вытаскивал значения в GraphicsContaier. И так и сяк, а тут две строчки. Еще раз большое спасибо.
0 голосов
ответил 13 Июль, 09 от invisibleshadow (780 баллов)
Пожалуйста.
Я эти строчки тоже не сразу нашел :)
Реально бесит эта куча интерфейсов... напоминает наперстки - кручу верчу - запутать хочу. :)
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...