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

использование функции mapViewSelect

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: Пред. 1 2 3 4 5 6 След.
RSS
использование функции mapViewSelect, прикладная задача для ГИС Панорама12
 
Здравствуйте,тогда не могу понять как мне выделить объекты если открыта всего одна карта, так как что функция mapSelectSampleByNumber, что mapSelectSampleUn выделяют все объекты на карте?
 
Использую функцию mapSelectSampleByNumber в версии 12 под Astra Linux. После создания контекста функцией mapCreateSiteSelectContext, вызываю функцию очистки mapClearSample. Затем пользуюсь функцию mapSelectSampleByNumber. Пока замечаний нет.
 
У меня почему-то так не работает. При попытке выделить что то на основной карте выделяются все объекты.  
 
Параметр list - это номер листа в карте, а не номер карты в документе.
Для однолистовой пользовательской карты - это всегда 1. Поэтому,  когда Вы выделяете на первой пользовательской карте - Ваша программа  работает правильно.
Код
// Установить доступ к заданному объекту заданного листа карты   
// select - контекст условий поиска   
// list   - номер листа карты,   
// number - номер объекта в листе   
// В контексте условий поиска должна быть установлена карта   
// При ошибке возвращает ноль  
_MAPIMP long int _MAPAPI mapSelectSampleByNumber(HSELECT select, long int list, long int number);

Например:

mapSelectSampleByNumber(hselect, 1, number);
 
  Хорошо, есть способы выделять не на пользовательской, а на основной карте?
 
Контекст отбора объектов HSELECT создается для конкретной карты (например, для основной карты, для второй открытой совместно с основной). При создании контекста вы явно указываете карту.
Поэтому функция mapSelectSampleByNumber работает с конкретной картой.
Некоторые карты могут состоять из множества листов. Если карты из одного листа (для пользовательских карт sit, sitx - это всегда так), то в функции указываете лист номер 1.
 
Цитата
Дарья Лунченко написал:
 Хорошо, есть способы выделять не на пользовательской, а на основной карте?
Карта выбирается при создании контекста условий поиска HSELECT.  
 
Спасибо огромное, все заработало.
Изменено: Дарья Лунченко - 04.12.2017 19:04:24
 
Добрый день.Остался только один вопрос, есть ли функция которая вызывает диалог такой же как в "Панорама" при "Поиск по области"->"Отдельные объекты", чтобы вместо "Найти","Выделить" было "Установить"? Нашла функцию selSetObjectsSearch, может параметр note за это отвечает?
 
Цитата
Дарья Лунченко написал:
Добрый день.Остался только один вопрос, есть ли функция которая вызывает диалог такой же как в "Панорама" при "Поиск по области"->"Отдельные объекты", чтобы вместо "Найти","Выделить" было "Установить"? Нашла функцию selSetObjectsSearch, может параметр note за это отвечает?
Функция поиска по области selSearchObjectByArea (см.  mapselect.h). Эта функция выделяет объекты по области, затем выделенные объекты, можно установить в карту.
Страницы: Пред. 1 2 3 4 5 6 След.
Читают тему (гостей: 1)



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

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