Как мне оформить отображение динамической карты? (Координаты + Линии) - PullRequest
4 голосов
/ 22 июля 2011

Итак, я хочу иметь представление (NSView, NSOpenGLView, что-то связанное с CG?), Которое в основном отображает карту.Такие как:

http://dump.tanaris4.com/map.png

Очевидно, это выглядит ужасно, но я сделал это с помощью NSView, и он рисует очень медленно.Ясно, что не предназначен для этого.

Мне просто нужно позволить пользователям нажимать на отдельные (x, y) координаты, чтобы вносить изменения, и увеличивать масштаб в определенной области (чтобы лучше видеть).

Должен ли я идти по маршруту OpenGL?И если так - какие-либо предложения относительно того, как начать?(Я смог следовать руководству, чтобы нарисовать треугольник, так что это хорошо).

Я нашел этот пост о масштабировании в NSView: Как реализовать масштабирование в AppKit-приложении Cocoa

Меня беспокоит то, что если я рисую более 6000 координат и соединяющих их линий, это вообще не эффективно.

Ответы [ 3 ]

0 голосов
/ 25 августа 2011

Попробуйте использовать для этого базовую графику, действительно, можно сделать так много. Посмотрите видео Практическое рисование для разработчиков iOS с WWDC 2011, и оно должно дать обзор того, что можно сделать с помощью CG.

0 голосов
/ 03 июля 2012

Я полагаю, что даже CoreGraphics будет достаточно для достижения того, чего вы хотите достичь, и это должно работать под UIView, если вы полностью рисуете прямоугольник своего вида под методом DrawRect вашего UIView (вы должны перегрузить этот метод).Пожалуйста, смотрите UIView Класс Ссылка .У меня есть мобильное приложение, которое регистрирует точки на UIMapKit, вроде Nike +, и оно, безусловно, хорошо работает для огромного количества точек / линейных сегментов.Нет никаких причин, почему этот простой подход не может работать на вас.

0 голосов
/ 23 июля 2011

Я не думаю, что использование OpenGL было бы полезным здесь.Проблема, кажется, не в реальной картине, а в стратегии рендеринга.Вам понадобится некоторый граф сцены для динамической обработки уровня детализации и отбраковки .Qt имеет все это в классном классе QGraphicsScene (см. http://doc.qt.nokia.com/latest/qgraphicsscene.html для справки и http://doc.qt.nokia.com/main-snapshot/demos-chip.html для примера).

Некоторые основные концепции, которые вы должны рассмотреть, используя:

...