Здравствуйте.
Использую пробную версию ГИС Конструктор для Qt4 Astra Linux 1.3 SE.
Загрузка тестовой карты (Подольск) проходит без проблем.
Далее создаю временную карту из своего классификатора и отображаю LOCAL_POINT знак.
Он рисуется точно так, как задано в классификаторе.
Произвожу аналогичные действия, но с классификатором operator.rsc
По этому классификатору LOCAL_POINT объект должен построиться из библиотеки rscarmy.iml.
Объект на карте создаётся в указанной позиции, но рисуется в виде точки (в любом масштабе карты - всегда точка).
Если удалить библиотеки .iml, будет выдана ошибка и построится тот же объект в виде безразмерной точки, если вернуть библиотеки обратно, ошибки не будет, но объект будет в виде всё той же безразмерной точки.
Если попытаться показать диалоговое окно по объекту, то
видно, что имя и характеристики загружаются из классификатора верно, но внешне выглядит неверно.
[CODE]ui->mapDlgObj->SelectObjectInPoint(ui->mapObj, x,y,3);[/CODE]
При попытке загрузить тот же объект из классификатора в пробной версии Operator11, он
отображается так, как показано в классификаторе.
Подскажите, пожалуйста, в чём может быть проблема и какие действия можно предпринять по её устранению.
Код, с которым создаю объект из классификатора (работает с простым классификатором и не работает с классификатором, использующим .iml файлы для построения)
[CODE]
QString fileName = QFileDialog::getOpenFileName(this, QString::null, QString::null,
Maps (*.map);;Matrix (*.mtw);;Rasters (*.rsw)");
if (fileName.isEmpty()) return;
ui->mapView->SetMapFileName(fileName);
ui->mapView->SetMapActive(true);
ui->mapView->SetMapVisible(true);
mapSetCommonRscPath("/usr/Operator11");
m_site = mapCreateAndAppendTempSite(ui->mapView->GetMapHandle(),
operator.rsc");
//"berkut.rsc");
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("KOI8-R"));
HOBJ hObjBio = mapCreateSiteObject(
ui->mapView->GetMapHandle(),
m_site,
IDDOUBLE2,
0
);
long ans = mapRegisterObject(
hObjBio,
353030070,//БОО
LOCAL_POINT
);
long ans2 = mapAppendPointPlane(
hObjBio,
6172351,
7406593
);
long ans3 = mapCommitObject( hObjCity );
qDebug() << ans << ans2 << ans3; //возвращает 1 1 1, что означает, что методы отработали верно
mapFreeObject( hObjBio );[/CODE]