Проблема состоит в том, что я пытаюсь создать зарамочное оформление штатными инструментами MAPAPI. При попытке вывести зарамочное оформление при помощи mapAddMarginalRepresentationSite(hMap, hSite, frmFileName.toStdString().c_str(), dfarmeFrm) по стандартному шаблону, отображаются только линии рамки и одна надпись. Мы беседовали ранее с Денисом Вицко и он предположил, что реквизиты карты не отображаются для моего фрагмента потому, что при создании временной карты (sit) в неё с высокой долей вероятности не предаются все необходимые для зарамочного оформления реквизиты.
Здравствуйте! У нас есть проект карт 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);
Основной вопрос в том, почему в данном примере отображается только несколько простых рамок вместо содержимого стандартного шаблона?В первую очередь интересует отображение геодезической рамки .RSCGEONET
Прошу посмотреть и по возможности подсказать правильное решение.