Здравствуйте,
Возникла такая проблема. Нужно прочитать семантику объекта на карте.
Для тестирования была взята лесная область на карте "Подольск" с номером 16799367 и кодом 71111110
Результатом функции mapReadObjectByKey является 0, следовательно произошла ошибка и данная область не нашлась.
Также при попытке использовать любую другую строку, кроме не закоментированной приводит к Segmentation Fault
Нужно чтобы QString(mapSemanticName(id,1)) выдавал не пустую строку.
Инициализация hmap и hsite:
Возникла такая проблема. Нужно прочитать семантику объекта на карте.
Для тестирования была взята лесная область на карте "Подольск" с номером 16799367 и кодом 71111110
Код |
---|
int res = 0; HOBJ id = -10; //= 71111110; //=16799367; id = mapReadObjectByKey(hmap,hsite,id,1,16799367); //id = mapReadObjectByNumber(hmap,hsite,id,1,71111110); //res = mapReadObjectByKeyEx(hmap,hsite,id,1,71111110); //res = mapReadObjectByNumberEx(hmap,hsite,id,1,16799367); te->append(QString("Result: ") + QString::number(res) + QString(" Id: ") + QString::number(id)); te->append(QString(mapSemanticName(id,1))); |
Также при попытке использовать любую другую строку, кроме не закоментированной приводит к Segmentation Fault
Нужно чтобы QString(mapSemanticName(id,1)) выдавал не пустую строку.
Инициализация hmap и hsite:
Код |
---|
viewMap->SetMapFileName("/usr/share/qt4/examples/gisdesigner/Data/Podolsk/Podolsk.map"); viewMap->SetMapActive(true); viewMap->SetMapVisible(true); hmap=viewMap->GetMapHandle(); mapAppendDataEx(hmap, "/usr/share/qt4/examples/gisdesigner/Data/Podolsk/Podolsk.mtw", 0, 0); //load temp map hsite=mapCreateAndAppendTempSite(hmap, "/usr/share/qt4/examples/gisdesigner/Data/Podolsk/Topo100t.rsc"); if(hsite == 0) te->append("Didn't create temp map"); else te->append("temp map created...."); |