Доброго времени суток.
Дано:
1. Основная карта + подгружаемые к ней методом mapAppendDataEx дополнительные.
2. Требуется произвести поиск и подсветку объектов.
Использование: mapSelectSampleByNumber( hselX, mapIndex, number),
где mapIndex - номер листа соответствующий порядковому номеру из общего числа листов mapGetSiteCount;
а number - номер объекта mapGetObjectNumber полученный по результатам поиска mapSeekSiteSelectObject
Результат: На основной карте объекты подсвечиваются, на всех остальных нет.
Вопрос: Как правильно подсвечивать объекты на подгруженных картах?
Спасибо.
С уважением,
Лазарев Александр.
ЗЫ: пробовал разные варианты, ниже временный код после кучи экспериментов
Дано:
1. Основная карта + подгружаемые к ней методом mapAppendDataEx дополнительные.
2. Требуется произвести поиск и подсветку объектов.
Использование: mapSelectSampleByNumber( hselX, mapIndex, number),
где mapIndex - номер листа соответствующий порядковому номеру из общего числа листов mapGetSiteCount;
а number - номер объекта mapGetObjectNumber полученный по результатам поиска mapSeekSiteSelectObject
Результат: На основной карте объекты подсвечиваются, на всех остальных нет.
Вопрос: Как правильно подсвечивать объекты на подгруженных картах?
Спасибо.
С уважением,
Лазарев Александр.
ЗЫ: пробовал разные варианты, ниже временный код после кучи экспериментов
Код |
---|
HSELECT hsel = mapCreateMapSelectContext( m_hMap); mapSelectObject( hsel, -1, 0); foreach( SelObj obj, m_selObjects) { if( obj.m_mapIndex == 0) { mapSelectSampleByNumber( hsel, 1, obj.m_number); } else { HSITE hSit = mapGetSiteIdent( m_hMap, obj.m_mapIndex); if( hSit != 0) { HOBJ hob = mapCreateObject( m_hMap); if( hob != 0) { if( mapReadObjectByNumber( m_hMap, hSit, hob, obj.m_mapIndex, obj.m_number) != 0) { long listNumber = mapGetListNumber( hob); mapSelectSampleByNumber( hsel, listNumber, obj.m_number); // long objCode = mapObjectCode( hob); // if( objCode > 0) // { // mapSelectOrSelect() // if( mapSelectSampleByObject( hsel, objCode) == 0) // { // qDebug() << "XXX"; // } // } } mapFreeObject( hob); } // HSELECT hselX = mapCreateSiteSelectContext( m_hMap, hSit); // mapClearSelectContextEx( hselX, m_hMap, hSit); // if( mapSelectSampleByNumber( hselX, obj.m_mapIndex, obj.m_number) != 0) // { // if( mapCopySelectContextEx( hsel, hselX) == 0) // { // qDebug() << "mapCopySelectContextEx"; // } // } // mapDeleteSelectContext( hselX); } } } |