Рисуй на карте и ищи или получай координаты из графики - PullRequest
1 голос
/ 13 декабря 2010

У меня есть приложение, которое использует mapkit, и у меня есть аннотации и все, что происходит.
Я хотел бы иметь некоторые функциональные возможности, которые позволяют пользователям рисовать, либо от руки, либо рисовать поле, на карте. После того, как пользователь создает эту графику (из-за отсутствия лучшего термина), я хотел бы запросить свои аннотации для тех, которые пересекаются с этой графикой. Если это присуще или это легко сделать, в противном случае, если я могу получить геометрию графики и могу выполнять поиск с минимальными / максимальными значениями x / y по координатам, которые я сохранил в БД. Я посмотрел в openGL / GLPaint, но не могу соединить точки (так сказать). Благодарю.

1 Ответ

1 голос
/ 29 января 2011

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

Вам потребуется способ переключения между режимами просмотра и рисования, чтобы:

  • когда вы находитесь в режиме просмотра, карта работает как обычно .. смахивание движений карта и т. д.

  • когда вы находитесь в режиме «рисования», те же жесты будут рисовать на карте

Таким образом, вы можете включить прозрачный вид в режиме «рисования» и скрыть / удалить его в режиме «просмотра». Вам нужно будет преобразовать ваши точки обзора в координаты или MapPoints, что может быть сложно, но вы должны найти все методы, которые помогут вам достичь этого здесь: http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MapKitFunctionsReference/Reference/reference.html

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

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