![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
AD |
![]()
Сообщение
#1
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
На карте есть значок определения аэропорта. При нажатии правой клавиши мыши появляется меню, приведенное на картинке. Так в этом меню есть подменю "Object", которое должно быть видимым если мы попали в значок аэропорта. Это получается только при больших масштабах или же еще в каком-то таком странном случае. Помогите пожалуйста, вот код определения экранного расстояния, при котором я считаю, что необходимо показывать подменю. У кого есть какие идеи?
Вот рисунок: [attachment=341:apt_defining.JPG] |
|
|
AD |
![]()
Сообщение
#2
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Вот алгоритм проверки расстояния в географических координатах (наоборот, работает при очень малых масштабах)
|
|
|
Tonal |
![]()
Сообщение
#3
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Для точечных объектов (или объектов видимых на данном масштабе как точечные, нужно проверять не совпадение координат объекта и указателя, а попадение объекта в курсорную область.
Курсорная область - обычно квадрат вокруг указателя, размером в 2-4 пиксела (лучше дать возможность настроить). |
|
|
AD |
![]()
Сообщение
#4
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Для точечных объектов (или объектов видимых на данном масштабе как точечные, нужно проверять не совпадение координат объекта и указателя, а попадение объекта в курсорную область. Курсорная область - обычно квадрат вокруг указателя, размером в 2-4 пиксела (лучше дать возможность настроить). А разве первый метод подобную вещь не делает? Если нет. То как это сделать? Помоги пожалуйста! |
|
|
AD |
![]()
Сообщение
#5
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Tonal натолкнул на хорошую мысль. Реализовал так:
![]()
|
|
|
Tonal |
![]()
Сообщение
#6
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
Да, примерно так. Ну и константу 8 лучше таки меть настраивать - оптимальное значение зависит от разрешения монитора и дрожжания рук пользователя.
![]() |
|
|
![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 18.2.2025, 11:18 |