как я могу программно узнать, какой тип инструмента (Выделить, Информация, Расстояние, Переместить и т.д.) у пользователя выбран в данный момент?
Выбранный инструмент
18.06.2018 15:08:35
|
|
|
|
18.06.2018 15:16:33
|
|
|
|
30.07.2018 08:35:07
как можно добавить в zulu свой инструмент?
|
|
|
|
31.07.2018 13:13:27
Максим Попов, нет, не предусмотрено. Уточнение: имеется в виду какой-то программный объект, который будет реагировать на UI в карте ?
|
|
|
|
02.08.2018 16:02:02
Дмитрий Озеров, ситуация: на карте много участков, которые лежат прямо друг над другом. почти невозможно выделить какой-то конкретный.
возможное решение: сделать курсор, который по клику будет выдавать пользователю все участки в определенном радиусе. сейчас я сделал так: когда возникает событие "клик в карте", проверяется два условия: что бы был выбран инструмент "Выделить"(mapdoc.mode==1) и моя переменная (которая настраивается пользователем в настройках моего модуля) была true. но есть другой вариант, если бы я мог добавить в enum eMode свое значение, например, 100, и оно бы означало только мой "клик с радиусом". я бы тогда в событии "клик с радиусом" проверял, что mapdoc.mode = 100 и в зависимости от этого делал действия. есть еще варианты? |
|
|
|
02.08.2018 18:26:40
Максим Попов,
1. Оговорка: понятно, что в enum eMode невозможно добавить своё значение по определению 2. MapDoc.Mode может принимать только известные системе значения, т. к. за этим стоит определённая реакция системы и установка нужного режима и сопутствующих свойств (т. е. это не просто банальное число, хранящееся в карте) 3. Соответственно, если нужно расширить функционал имеющегося режима (скажем select), то либо хранить флаг и проч свойства у себя в плагине и ассоциировать этот набор свойств с данных экземпляром карты, либо допустим проверять нажатие дополнительных клавиш-модификаторов, например Alt и использовать это обстоятельство как флаг для расширенного режима и не надо будет использовать штатное свойство MapDoc.Mode для хранения своего "magic". |
||||
|
|
|||