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

Не корректное отображение зарамочного оформления .frm

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: Пред. 1 2 3 4 5 След.
RSS
Не корректное отображение зарамочного оформления .frm
 
Проблема состоит в том, что я пытаюсь создать зарамочное оформление штатными инструментами MAPAPI. При попытке вывести зарамочное оформление при помощи  mapAddMarginalRepresentationSite(hMap, hSite, frmFileName.toStdString().c_str(), dfarmeFrm) по стандартному шаблону, отображаются только линии рамки и одна надпись. Мы беседовали ранее с Денисом Вицко и он предположил, что реквизиты карты не отображаются для моего фрагмента потому, что при создании  временной карты (sit) в неё с высокой долей вероятности не предаются все необходимые для зарамочного оформления реквизиты.

В данном коде я их передал, но это не помогло.
Изменено: Михаил Федосеев - 14.02.2020 14:17:26
 
Существует ли вообще возможность отобразить зарамочное оформление для описанной мной области карты?
 
Здравствуйте!
У нас есть проект карт mpt в качестве открытых данных HMAP. Нам необходимо напечатать область карты, указанную пользователем, с оформлением. DFRAME области у нас есть. Мы хотим воспользоваться функцией mapAddMarginalRepresentationSite. Что нам подать в качестве второго аргумента (HSITE hsite) в эту функцию?
 
Дмитрий на будущее : если хотите задать вопрос, то заведите собственную тему.

Функция mapAddMarginalRepresentationSite добавляет объекты на ту карту, на которую укажите. mapAddMarginalRepresentationSite(HMAP, HMAP...) добавляет в основную карту (первая в проекте открытых).
mapAddMarginalRepresentationSite(HMAP. HSITE ) добавляет в карту, открытую при добавлении к уже открытой HMAP (вторая, третья... в проекте).
 
По части временной карты поиск отсутствия отображения может заключаться в следующем:
- создать не временный sit, а постоянный CreateAndAppendSite (без всяких дополнительных указаний проекций и т.п.).
- на нем создать зарамочное оформление
- закрыть sit
- открыть и посмотреть есть ли зарамочное оформление?
 
Для создания sit с помощью CreateAndAppendSite  необходимо заполнить структуру CREATESITE. Где можно получить для неё данные?
Вы можете предоставить готовый пример исходного кода с реализацией зарамочного оформления на какой либо карте?
Чтобы можно было выбрать некий квадрат на карте и и распечатать его со стандартным шаблоном оформления.
 
Вы можете заполнить структуру CREATESITE теми же значениями, которые запросите с открытой карты.
Код
  // Запросить паспортные данные векторной карты
  // hMap   - идентификатор открытой основной карты
  // hSite  - идентификатор открытой пользовательской карты
  // Структуры MAPREGISTEREX, LISTREGISTER, SHEETNAMES описаны в mapcreat.h
  // sheetnumber - номер листа карты (c 1)
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetSiteInfoEx(HMAP hMap, HSITE hSite, MAPREGISTEREX *mapreg, LISTREGISTER *listreg, long int sheetnumber);
 
По ссылке https://cloud.mail.ru/public/4c9Y/3qpRQi1Tu можно скачать небольшой тестовый пример с нашей картой.

Основной вопрос в том, почему в данном примере отображается только несколько простых рамок вместо содержимого стандартного шаблона?

В первую очередь интересует отображение геодезической рамки .RSCGEONET

Прошу посмотреть и по возможности подсказать правильное решение.
 
ТУТ ОШИБКА:
   CREATESITE *cs = new CREATESITE;
   cs->Length              = mapreg->Length            ;

ДОЛЖНО бЫТЬ:
cs->Length = sizeof(CREATESITE);

Размеры структур CREATESITE и MAPREGISTEREX отличаются.

P.S. К сожалению архив содержит только паспорт карты. Отсутствуют файлы, записанные паспорте: K362.hdr, K362.dat, K362.sem, K362.gra, ...
 
Файлы расположены в каталоге build64/map
Визуально после предложенного исправления ничего не поменялось. По прежнему отображаются только рамки
Страницы: Пред. 1 2 3 4 5 След.
Читают тему (гостей: 1)



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

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