SASGIS - SAS.Планета
View Issue Details
0003628SAS.Планета[All Projects] Багpublic12-03-2020 14:2614-03-2020 09:07
suregoodru 
 
normaltweakalways
newopen 
PCWindows10
.Nightly 
 
0003628: Не учитывается размер иконки в живом слое при наведении мышкой на объект
Для планирования спасательных работ в слоях мы выводим различные объекты с помощью иконок, например: фотографии с помощью которых мы оцениваем проходимость местности, иконки самолётов и поездов\электричек, чтобы локализовать место, где находится потерявшийся человек, если он с нами сейчас на связи (пока у него жива батарея) и различные другие.
При наведении на иконку, реальный размер кликабельной области не равен выводимой иконке. Из-за этого часть кликов не открывают окно с дополнительной информацией об объекте.
Особенно это доставляет неудобство с движущимися объектами, например с электричками, отвлекает от разговора с потерявшимся человеком (а работа с объектами слоя часто идёт во время разговора с потерявшимся. При этом, у потерявшихся, обычно батарея обычно на исходе).

В params.txt есть значение IconSize=18, но при наведении не используется ни оно, ни фактический размер значка
0. Распаковать архив в Maps/sas.maps
1. Включить слой из вложения (GIS for SAR -> Live events (thunder, plains, trains)
2. Найти точку из слоя на карте (например электричку)
3. Навести мышкой на край иконки, кликнуть, убедиться, что при клике не открывается окно с информацией
4. Медленно двигать мышку к центру иконки, пока курсор на изменится на pointer (рука, как на кликабельных ссылках в браузере)

Разница расстояния между пунктом 3 и 4 и есть то неудобство, о котором я пишу в тикете
Скриншот демонстрации проблемы - https://drive.google.com/file/d/1ZRi57huQTgPhk96cHrO7wWmQLYflHcga/view?usp=sharing
No tags attached.
zip Extremum.zip (11,979) 12-03-2020 14:26
http://www.sasgis.org/mantis/file_download.php?file_id=2427&type=bug
Issue History
12-03-2020 14:26suregoodruNew Issue
12-03-2020 14:26suregoodruFile Added: Extremum.zip
12-03-2020 14:48zedNote Added: 0019702
12-03-2020 15:04suregoodruNote Added: 0019703
12-03-2020 15:10zedNote Added: 0019705
13-03-2020 07:00suregoodruNote Added: 0019707
14-03-2020 08:52vdemidovNote Added: 0019708
14-03-2020 09:07zedNote Added: 0019709

Notes
(0019702)
zed   
12-03-2020 14:48   
Ну да, размер области по которой можно кликнуть не ограничен размерами иконки, а представляет собой некий фиксированный прямоугольник вокруг точки с координатами метки. Это же касается и обычных меток, создаваемых в программе.

В качестве воркараунда могу предложить создавать вокруг меток электричек полигон-окружность с некоторым радиусом (в зависимости от зума), достаточным для уверенного клика.
(0019703)
suregoodru   
12-03-2020 15:04   
Если я правильно понимаю, то на разных масштабах это будет работать неправильно, при включённой опции "Использовать векторные слои с меньших уровней зума"
(0019705)
zed   
12-03-2020 15:10   
Да, скорее всего временами будет появляться несколько окружностей разного радиуса наложенных одна на другую.
(0019707)
suregoodru   
13-03-2020 07:00   
Всё таки решение не подходит.
Если обрисовать иконку при масштабе z15, то при масштабе z20 прямоугольник уже занимает большую часть экрана - https://drive.google.com/file/d/14bduRqXh9RJWFRlKWzkr9TEsiJBV9_-S/view?usp=sharing
А на z23 полигон значка уже вылезает за экран 2560х1440.

Кэш отключить мы тоже не можем, если такое сделать — нужно заставлять серверы отдавать вектор вплоть до z24,а это трафик, место на дисках у потребителей, ну и генерация вектора в случаях, когда без неё можно было бы обойтись. Плюс, в случае работы оффлайн, такой кэш просто взорвёт работу на больших Z, когда люди пытаются рассмотреть какие-то подробности.


Может есть какое-то другое решение?
Такой масштаб для работы с иконками бывает нужен, когда есть несколько фоток очень близко, либо человек пытается рассмотреть что-то на снимках из спутника.
Я знаю, что в браузерах можно делать кликабельную область равной значку. Тут так нельзя?
(0019708)
vdemidov   
14-03-2020 08:52   
Я бы все-таки посоветовал доделать хотя бы из конфига изменение размеров прямоугольника в котором считается совпадение клика с точкой. Сейчас это просто захардкодженные константы. Дополнительные полигоны это вообще адский костыль.
(0019709)
zed   
14-03-2020 09:07   
> Я бы все-таки посоветовал доделать

Кому бы ты это посоветовал, топикстартеру что-ли?