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

mihalych72 (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » mihalych72
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 16 След.
временное скрытие объектов на карте
 
[QUOTE]Денис Вицко написал:
TMapSelect.SetSiteEnabledForSample[/QUOTE]
спасибо. посмотрю на нее более внимательно.

Денис, спасибо.
посмотрел на в TMapSelect. там есть CheckKey - попробую через него.
временное скрытие объектов на карте
 
Денис, спасибо за ответ.
Ваш вариант не подходит. это немного не то что надо.


возможно Вы не так поняли задачу:Есть карта района с регионами. это гео-карта.
на карте отдельно нанесены точечные объекты - это расположение кружков (свои объекты на карте). цвет кружков определяет статус, например зеленый и красный. цвет на карте делается это привязкой к объекту классификатора.

нужно управлять видимостью кружков: не целиком всеми, а индивидуально или группами. объекты карты определяются слоями (layers), как принято в панораме.

видимость объектов нужна, чтобы пользователь смог увидеть только один объект из всех, или несколько - по выбранному признаку.
это немного не то, что задумано для слоев в гис панорама - это не управление целым слоем. здесь один слой - это регионы, второй - кружки. третий слой - это скрытый слой.


сейчас, чтобы скрыть/показать кружок, перепривязываю его к другому объекту классификатора, который расположен на скрытом/отображаемом слое.
можно делать коммит, потому что параметры объекта не меняются - только внешний вид и, по сути, карта не меняется.
не допускается изменение карты в плане изменения описаний (семантики), координат, регионов и прочей метрики и объектов карты.
в принципе я и так работаю через context, но сейчас ищу один объект по mapkey и управляю им. т.е. к контексту я не привязываю группу объектов.
Вы указали, если я Вас правильно понял, что можно работать в одном контексте сразу с кучей объектов ?

это так, но список mapkey задается через min-max. а можно ли указывать его произвольным списком (доб/удалить mapkey поштучно) ?

тогда придется создать пару таких контекстов (один для видимых, второй - для скрытых объектов, и время их жизни - работа с картой.

это вариант. я попробую этот способ.


еще один способ - это отрисовка поверх своими временными объектами.
из-за проблемы поиска временных объектов (без комита) этот вариант не подходит.
Изменено: mihalych72 - 07.02.2023 17:41:35
временное скрытие объектов на карте
 
Здравствуйте
требуется временно скрывать объекты (аналог visible) на карте (например при выделении конкретных объектов, а прочие скрыть).
есть несколько вариантов:
1) перенос в скрытый слой (в классификаторе назначается объект, который приписывается к определенному слою, который всегда скрывается при работе с картой)
2) связывание с прозрачным объектом в классификаторе
3) использование mapHideSiteObject
описание к mapHideSiteObject непонятно - только 1 шт. на карту или можно много объектов скрывать ?

фактически, пп.2 это вариант пп.1
подскажите, пожалуйста, какой способ предпочтителен ? или есть другие варианты ?
может есть функции mapapi для этого ?
Изменено: mihalych72 - 07.02.2023 12:02:09
рисование на канве карты
 
Спасибо.
этот вопрос решен.
поиск сделан через mapap - ищет без мелькания (без выделения объектов как в TMapFind). всем спасибо за помощь.
рисование на канве карты
 
Андрей, временные объекты на карте тоже не находятся.
поиск объектов по координатам, тоже выполняется по БД, т.е. только с комитами ?
рисование на канве карты
 
благодарю.

не помню такого в описаниях.
рисование на канве карты
 
разобрался с порядком отображения и проблемой, почему объект кружка не отображался поверх.
проблема оказалась в поиске по TMapObj.Key.
суть в том, что для кружков создается объект на карте без комита.
при создании ему автоматически не назначается key - это странно.
тогда я значение key устанавливаю сам равным objechandle. это работает: чтение mapObjectKey возвращает записанный key.
но не ищется объект по этому key в TMapFind !!!
в результате приходится создавать временный объект без поиска по Key и это работает.
синий цвет задается через измененную палитру, а на самом деле кружок рыжий. все работает как надо !


остается пока непобедимая проблема - мелькание при поиске и тормоза.
в результате всех манипуляция все стало работать медленнее. причину выясняю. пока все сделано коряво - лишь бы заработало.
сейчас переписываю поиск объектов на mapapi.
Изменено: mihalych72 - 05.02.2023 00:30:19
рисование на канве карты
 
так же непонятен порядок отрисовки:
если выделяется регион, методом замены палитры, карта рисуется бледной, регион выделяется нужным цветом, но круг тоже рисуется серым, хотя для него выделена палитра с ярким цветом (картинка серой карты с зел. регионом).
на обычной карте, кружок рисуется над картой, но под выделенным объектом (рыжий). если выделенный регион будет со сплошной заливкой - кружка не будет видно.
рисование на канве карты
 
методом тыка выяснено, что если не выполнять поиск объектов (под точкой мыши), объект всегда рисуется поверх непрозрачно, т.е. правильно.
поиск выполняется через TMapFinder.
сейчас выясняю как влияет код поиска на это.


найдено: вредит связанный с MapFinder объект MapObj.
если сразу после обработки результатов поиска сделать поиск несуществующего объекта, например с Key=-1 (MapFind.MapSelect.SetSelectKey(-1,-1) ) то все отображается как надо.
Изменено: mihalych72 - 04.02.2023 23:25:08
рисование на канве карты
 
[QUOTE]mihalych72 написал:
этот вопрос можно закрыть. [/QUOTE]
погорячился.
проблема еще не закрыта.
поправил карту. сделал регионы непрозрачными.
в классификаторе поправил векторный объект на площадной - не стекло !
при правке векторного объекта в панораме 14, при выборе "площадь-стекло" все равно выставляется "площадь". версия панорамы 14.4.0.80 х64 у меня без ключа.

карта отображается как надо, но теперь точка прозрачная.  а объект отрисовывается то прозрачным, то нет.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 16 След.



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

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