Я должен отображать множество ярлыков на экране без наложения.Позиции надписей должны быть как можно ближе к описываемым функциям.Объектами могут быть точки, линии или многоугольники на экране (представьте любую карту).В моем приложении должны быть соблюдены следующие требования:
- метки должны быть расположены так, чтобы избежать наложения (наложения) на другие метки
- метки должны быть расположены так, чтобы не перекрываться с другими функциями (полигоны и отрезки)
- оптимальное положение для надписи выше и справа от функции, которую они описывают
- ниже, а справа менее приемлемо
- наименее приемлемые положенияслева
Мне нужно придумать способ сделать это.
Прежде чем я просто начну пытаться сделать это наугад, я надеюсь, что кто-то здесь уже могсделал это и смог дать мне несколько советов о том, с чего начать.
По сути, с метками я мог бы использовать ограничивающие рамки, чтобы сравнить их друг с другом.Хотя я не знаю хорошего способа сделать это.С отрезками и полигонами, которые они обозначают на экране, у меня действительно нет ни малейшего понятия, что мне следует делать, чтобы избежать дублирования.Я надеюсь, что это не потребует гораздо больших усилий, чтобы избежать наложения самих ярлыков.
Я думаю, что отталкивание сработало бы, если бы мне пришлось иметь дело только с ярлыками, перекрывающими другие ярлыки.Но если у меня есть отрезок линии, проходящий через половину экрана, я не знаю, как избежать дублирования с помощью техники отталкивания.
Я использую язык ActionScript 3 и среду Flex.Я не верю, что у Flex есть какие-либо классы менеджера компоновки, как в Java Spring, которые могут выполнить эту работу за меня.
В любом случае, ссылки или предложения приветствуются.Я могу допустить некоторую грубую силу;Я не понимаю, как я могу сделать это иначе.Спасибо!
PS Я полагаю, что технический термин для этой проблемы - "чрезмерная".