Преобразование координат, чтобы найти CGPoint после масштабирования и перейти на UIView - PullRequest
2 голосов
/ 25 января 2010

У меня есть UIView с картой мира. Это добавляется в родительский UIView, этот родительский UIView также имеет две сборки маркеров из UIViews. Маркеры расположены в центре двух произвольных стран.

Теперь я нахожу, что средняя точка между этими двумя маркерами перемещает вид карты мира так, чтобы эта средняя точка находилась в центре экрана, затем я продолжаю масштабировать карту так, чтобы прямоугольник, который просто охватывает два маркера, заполнял экран .

Теперь мой вопрос: как мне найти «новые» координаты для маркеров, чтобы они, казалось, не двигались? то есть они все еще расположены над центром двух стран, но страны переместились и масштабировались

Если бы мне нужно было просто переместить карту на какое-то смещение, я мог бы применить это смещение к своим маркерам, но когда я также применяю масштаб к карте, но не к маркерам, я теряю маршрут из моих путевых точек.

Надеюсь, кто-то может научить меня этому маленькому кусочку геометрии или, может быть, что-то построенному в магии Какао?

Спасибо.

1 Ответ

0 голосов
/ 05 февраля 2010

Просто добавьте маркеры не как подпредставления родительского вида, а как подпредставления статического представления над родительским и картой. Вы также можете избавиться от родительского вида, и просто иметь маркеры на виде над картой и на карте в качестве родственного элемента родителя маркера, но за родителем маркера.

Так вот так:

  • Родитель
    • Маркеры
  • Карта
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...