На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Номер слоя и порядковый номер объекта в слое по Ключу

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Номер слоя и порядковый номер объекта в слое по Ключу
 
День добрый.
Подскажите, возможно ли средствами MAPAPI узнать для типа объекта его Номер слоя и Порядковый номер в слое по Ключу?
 
Запрашиваете внутренний код объекта по ключу и далее работаете с внутренним кодом.
 // Запросить внутренний код (порядковый номер) объекта
 // по ключу
 // hRsc - идентификатор классификатора карты
 // key  - ключ объекта
 // При ошибке возвращает ноль

_MAPIMP long _MAPAPI mapGetRscObjectCodeByKey(HRSC hRsc, const char * key);
_MAPIMP long _MAPAPI mapGetRscObjectKeyIncode(HRSC hRsc, const char * key);
_MAPIMP long _MAPAPI mapGetRscObjectCodeByKeyUn(HRSC hRsc, const WCHAR * key);


 // Запросить код локализации объекта по внутреннему  коду (порядковому номеру)
 // объекта (с 1)
 // hRsc - идентификатор классификатора карты
 // incode - внутренний код объекта (номер по порядку)
 // При ошибке возвращает ноль (ноль допустим)

_MAPIMP long int _MAPAPI mapGetRscObjectLocal(HRSC hRsc, long int incode);

 // Запросить номер слоя объекта по внутреннему  коду (порядковому номеру)
 // объекта (с 1)
 // hRsc - идентификатор классификатора карты
 // incode - внутренний код объекта (номер по порядку)
 // При ошибке возвращает ноль (ноль допустим)

_MAPIMP long int _MAPAPI mapGetRscObjectSegment(HRSC hRsc, long int incode);
 
Andrey Gheleznyakov, спасибо за оперативный ответ, а как запросить Порядковый номер в слое?
 
У объекта нет свойства Порядковый номер в слое. Есть внутренний код - порядковый номер в общем списке объектов.

Отображение в списке объектов слоя может идти, например, по алфавиту.
Определить текущую позицию объекта можно перебором всех объектов, но в этом нет практического смысла.
В слое у объекта есть порядок вывода -
Код
  // Запросить порядoк вывода объекта в слое
  // hRsc - идентификатор классификатора карты
  // incode - внутренний код объекта
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetRscObjectOrder(HRSC hRsc, long int incode);
Внутренний код можно получить по разным параметрам (ключу, названию, внешнему коду...).
Например:
Код
  // Запросить внутренний код (порядковый номер) объекта
  // по внешнему коду , локализации  и порядковому номеру среди аналогичных объектов (с 1)
  // hRsc - идентификатор классификатора карты
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetRscObjectCodeByNumber(HRSC hRsc, long int excode, long int local, long int number = 1);
 
Oleg Belenkov, используем функцию из состава MAPAPI:
Код
  
  // Запросить внутренний код (порядковый номер) объекта
  // по порядковому номеру в заданном слое
  // hRsc - идентификатор классификатора карты
  // layer - номер слоя
  // number - номер объекта в слое
  // При ошибке возвращает ноль

_MAPIMP  long int  _MAPAPI mapGetRscObjectCodeInLayer(HRSC hRsc,
                                               long int layer,
                                               long int number);

правильно ли я понимаю, что, варианта, кроме как, перебором всех объектов, определить number, который передается ей в качестве параметра, у меня нет?
 
Если программа отображает список объектов слоя, то она может запросить число объектов в слое и затем перебрать их от 1 до числа объектов.
Другого применения этой функции нет.
 
Oleg Belenkov, спасибо.
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности