2015-03-16 6 views
0

Я хотел бы сделать редактируемую выноску, и из быстрого просмотра кажется, что лучший способ - создать текстовое поле над ним в представлении. Итак, мне было интересно, как получить CGPoint аннотации, чтобы я мог использовать ее при размещении моего CGRect текстового поля. Это код, который я использую для отображения аннотации в точке с пунктиром, как бы сделать обратное? Если кто-то предлагает лучшие способы для создания редактируемой выноски, я приветствую для предложенийСоздайте текстовое поле над MKAnnotation Callout Swift

var point:CGPoint = gestureRecognizer.locationInView(self.Map) 

    EventLoc = self.Map.convertPoint(point, toCoordinateFromView: self.Map) 

ответ

1

Я не слишком хорошо знаком с Swift еще, но не зависит от языка, MKMapView имеет метод convertCoordinate:toPointToView:, который можно использовать для преобразования CLLocationCoordinate2D в CGPoint.

EDIT

Из MKMapView reference:

Преобразует карту координат точки в указанном представлении.

Так что в вашем случае последний аргумент должен быть ваш вид карты:

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

+0

var TextCentre: CGPoint = self.Map.convertCoordinate (EventLoc !, toPointToView: x) Я пробовал это, но я не мог понять, что поставить для «x». Текстовое поле всегда отображалось в верхнем левом углу экрана. – Learnin

+0

Когда я использовал это в Obj-C, мне пришлось отобразить карту. Поэтому я предполагаю, что это должно быть 'self.Map'. – Dennis

+0

Хорошо, я попробую! Спасибо :) – Learnin

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