2010-11-09 4 views
0

Я пытаюсь разрешить пользователю определять границу для наложения. Кажется, это должно быть просто; но я не могу даже узнать, как узнать, когда пользователь касается карты. Я бы подумал, что UIMapViewDelegate будет иметь методы реагирования на взаимодействия пользователя, но это не похоже. В приложении «Карты Google» он падает, когда вы держитесь за место; Я предполагаю, что это будет первый шаг к тому, чтобы пользователь определял оверлей.MKMapView/MKOverlay - позволяет пользователю определять координаты наложения

Похоже, что UILongPressGestureRecognizer предоставит то, что я хочу; но не совсем понимаю, как добавить GestureRecognizer в MapView. Я прочитал документацию MKMapView и UIGestureRecognizer; что мне не хватает? Благодарю.

ответ

1

Любой UIView поддерживает добавление к нему распознавателя жестов с помощью метода -addGestureRecognizer:. Однако это может быть не лучшим образом: если вы хотите воспроизвести поведение Карт, вы можете использовать MKPinAnnotationView с свойством draggable, установленным на YES, а затем обновите границы своего наложения, чтобы они соответствовали позиции аннотации при завершении перетаскивания (т.е. когда представление карты вызывает метод делегата -mapView:annotationView:didChangeDragState:fromOldState:). Обратите внимание, что любой класс аннотации, который вы используете, должен реализовать метод -setCoordinate:, как определено в протоколе MKAnnotation, для перетаскивания контактов для работы.

+0

Спасибо ... как я могу добавить MKPinAnnotationView в то место, которое пользователь нажимает в первую очередь? – GendoIkari

+1

Хороший вопрос. Я думаю, что лучший подход заключается в том, чтобы создать начальную «стандартную» область, с помощью, например, аннотации булавки, размещенной в каждом углу. Было бы более интуитивно понятным и меньше объяснять в вашем пользовательском интерфейсе, чтобы иметь что-то уже там, с которым можно манипулировать, чем ожидать, что пользователь разместит что-то новое. –

+0

Спасибо! Вероятно, я это сделаю. – GendoIkari

Смежные вопросы