На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Александр Махин (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Александр Махин
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 5 6 7 8 9 10 11 12 13 14 15 ... 55 След.
Обрезка векторной карты
 
Да. У меня есть карта страны и пользователю необходим только лишь определённый район для работ. Поэтому я сделал так, чтобы у пользователя была возможность выделить объекты в нужном районе, далее создаётся карта по шаблону уже открытой и на неё наносятся выделенные объекты. Но проблема в том, что объекты находятся в левом верхнем углу и не предоставляется возможности нанести надписи сверху и слева от объектов.
Обрезка векторной карты
 
Мда..... Тогда как мне карту сдвинуть ближе к центру, чтобы была возможность добавления объектов по бокам карты??
Обрезка векторной карты
 
ВСЕ РАВНО КАРТА ОТОБРАЖАЕТСЯ В ВЕРХНЕМ ЛЕВОМ УГЛУ ЭКРАНА

                       //---------------------------------------Создать карту---------------------------------------//
                       MapScreen.CreateSite_EP(SiteFileName, RscFileName, MapName, MapType, MaterialProjection, Scale,
                           FirstMainParallel, SecondMainParallel, AxisMeridian, MainPointParallel);
                       
                       //---------------------------------------Закрыть карту---------------------------------------//
                       MapScreen.MapClose();

                       //-----------------------------------Открыть созданную карту---------------------------------//
                       OpenMap.openSit(EControls.Get<C_Map>().MapScreen, SiteFileName);

                       //------------------Обновить размеры пользовательской карты и габариты района----------------//
                       TxMapFrame frame = new TxMapFrame
                       {
                           X1 = 0,
                           Y1 = 2000,
                           X2 = 2000,
                           Y2 = 0
                       };
                       MapAPI.mapSetSiteBorder((IntPtr)MapScreen.MapHandle, (IntPtr)MapScreen.MapHandle, ref frame, 1);
                       int mapW = MapScreen.MapWidth;
                       int mapH = MapScreen.MapHeight;

                       //--------------------------------Добавить объекты из буфера--------------------------------//
                       BufferWindows._buffer.Extract();

                       //--------------------------------------Закрыть карту---------------------------------------//
                       MapScreen.MapClose();

                       //--------------------------------------Открыть карту---------------------------------------//
                       OpenMap.openSit(EControls.Get<C_Map>().MapScreen, SiteFileName);
Обрезка векторной карты
 
Да действительно REF помог. Спасибо.
Но теперь карта куда-то улетает)))) После того как карта была создана MapWidth = 1204, а MapHeight = 860.
А после функции mapSetSiteBorder стало MapWidth = 48 и MapHeight = 48 :oops:

Результат на скрине.
Обрезка векторной карты
 
Все равно происходит ошибка

[DllImport("[B]gis32acces[/B]", CharSet = CharSet.Ansi)]
public static extern int [B]mapSetSiteBorder[/B](IntPtr hMap, IntPtr hSite, TxMapFrame frame, int place);

TxMapFrame frame = new TxMapFrame
                       {
                           X1 = 0,
                           Y1 = mapH * 2,
                           X2 = mapW * 2,
                           Y2 = 0
                       };
                       [B]mapSetSiteBorder[/B]((IntPtr)0, (IntPtr)0, frame, 2);
Обрезка векторной карты
 
Мой действия:
1. Я создал карту.
2. Добавил на нее объекты.
Но при открытии карта смещена в левый верхний угол т.е. в точку отсчета.
Мне необходимо ее сдвинуть к центру так как по всем сторонам карты будут добавляться дополнительные объекты и выноски.
Обрезка векторной карты
 
Добрый день, подскажите пожалуйста как правильно использовать [B]mapSetSiteBorde[/B][B]r[/B]

OpenMap.openSit(EControls.Get<C_Map>().MapScreen, SiteFileName);
                       int mapW = MapScreen.MapWidth;
                       int mapH = MapScreen.MapHeight;
                       TxMapFrame frame = new TxMapFrame
                       {
                           X1 = 0,
                           Y1 = mapH*2,
                           X2 = mapW*2,
                           Y2 = 0
                       };
                       MapAPI.mapSetSiteBorder((IntPtr) 0, (IntPtr) 0, frame, (IntPtr)1);
                       [DllImport("gis32acces", CharSet = CharSet.Ansi)]
                      [B] public static extern int mapSetSiteBorder(IntPtr hMap, IntPtr hSite, TxMapFrame frame, IntPtr place);[/B]

Пишу на С# с использованием GisToolKit ActiveX Free 14.0.2
Обрезка векторной карты
 
Добрый день, господа разработчики.
У меня получилось скопировать объекты по выделенной области.

Далее я создал пользовательскую карту и на нею добавил скопированные объекты.

Но созданная мною пользовательская карта примыкает к верхнему левому углу экрана 😒 вопрос: как сделать, чтобы карта отображалась по центру экрана?
Форматы карт
 
Спасибо за подробное разъяснение.
Обрезка векторной карты
 
Спасибо буду пробовать.
Страницы: Пред. 1 ... 5 6 7 8 9 10 11 12 13 14 15 ... 55 След.



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности