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

Пересчет габаритов при закрытии пользовательской карты

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Пересчет габаритов при закрытии пользовательской карты
 
Добрый день!

Имеем открытую карту. К ней добавлена пользовательская карта соседнего региона через mapOpenSiteForMap. После вызова mapGetPictureSize и перерисовки получаем расширенное изображение - тут все правильно.

А при закрытии карты после mapCloseSiteForMap получается, что mapGetPictureSize возвращает старые значения (как до закрытия) и перерисовка не дает эффекта. После изменения масштаба получаем актуальные габариты.

Такое поведение только с пользовательским картами. С растрами, матрицами и геопорталами все нормально.

MAPAPI 14.4.2 20221110
MingGW 7.3.0 x86_64 + Qt 5.14.1
MingGW 4.9.2 i686 + Qt 4.8.7
 
Необходимо вызвать следующую функцию:
Код
  // Обновить в документе общие габариты района работ
  // hmap - идентификатор открытых данных
  // После смены ограничения на область отображения или закрытия данных (карт, снимков, матриц, геопорталов)
  // необходимо вызвать функцию mapSetRegion для обновления габаритов района и обновить 
  // позицию изображения карты в окне
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSetRegion(HMAP hMap);

Она не вызывается автоматически, поскольку закрываться могут многие данные, а пересчет требует времени.
 
Благодарю!
А вызов mapChangeViewScale(hMap, 0, 0, 1) функционально даст аналогичный результат?
 
Лучше явно вызвать mapSetRegion.
Страницы: 1
Читают тему (гостей: 1)



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

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