Приветствую!
ГИС Конструктор для Qt Designer x64 (версия 12.3.0), ОС Astra Linux
Не сохраняются объекты на пользовательской карте добавленной к основной.
С уважением,
Матвеев П.В.
ГИС Конструктор для Qt Designer x64 (версия 12.3.0), ОС Astra Linux
Не сохраняются объекты на пользовательской карте добавленной к основной.
Код |
---|
#include <QString> #include <QDebug> #include "mapapi.h" #include "sitapi.h" #include "rscapi.h" #include "mapcreat.h" #include "maptype.h" // тест сохранения знака на пользовательской карте int main(int argc, char ** argv) { QString* siteName1 = new QString("/home/user/temp/testCommitFail1.sitx"); QString* siteName2 = new QString("/home/user/temp/testCommitFail2.sitx"); QString* rscName = new QString("/home/user/temp/operator.rsc"); CREATESITEUN cs; memset((void*) &cs, 0, sizeof(cs)); cs.Length = sizeof(CREATESITEUN); cs.EllipsoideKind = 9; cs.MapType = 16; HMAP hmapForAppend = mapCreateSiteUn((const WCHAR*) siteName2->constData(), (const WCHAR*) rscName->constData(), &cs); if (hmapForAppend != 0) { mapCloseMap(hmapForAppend); } HMAP hmap = mapCreateSiteUn((const WCHAR*) siteName1->constData(), (const WCHAR*) rscName->constData(), &cs); if (hmap != 0) { mapAppendDataEx(hmap, "/home/user/temp/testCommitFail2.sitx", 0, 0); long int siteIndex = mapGetSiteCount(hmap); HSITE hsite = mapGetSiteIdent(hmap, siteIndex); HOBJ hobj = mapCreateSiteObject(hmap, hsite); if (hobj != 0) { //создадим объект if (mapRegisterObjectByKey(hobj, "009991001001") != 0) { double x = 500.; double y = 500.; mapAppendPointPlane(hobj, x, y, 0); mapAppendPointPlane(hobj, x, y, 0); long rc = mapCommitObject(hobj); if (rc == 0) { qDebug() << "mapCommitObject error"; } } else { qDebug() << "mapRegisterObjectByKey error"; } //освобождаем объект mapFreeObject(hobj); } else { qDebug() << "mapCreateObject error"; } mapCloseMap(hmap); } } |
С уважением,
Матвеев П.В.