MacOS MapKit - Удалить пин-код в выбранном месте - PullRequest
0 голосов
/ 31 мая 2019

Я хочу создать базовое приложение для MacOS, которое позволит мне сбрасывать несколько пинов и вычислять время в пути между ними с заданной скоростью (по мере того, как летит ворона), но я изо всех сил пытаюсь добавить штифт в месте, где щелкнули мышью.

Когда я нажимаю Ctrl + клик, чтобы добавить булавку, ось Y кажется инвертированной. (То есть, если я щелкну рядом с нижней частью вида карты, булавка появится вверху). Я также все еще хочу иметь возможность перетаскивать карту с помощью мыши, поэтому я пытаюсь использовать Ctrl + Click, чтобы опустить булавку, а затем позволить остальным функциям карт работать как обычно, вызывая super.mouseDown, но это не не работает (то есть я не могу перетаскивать карту, когда не удерживаю Ctrl). Вот мой код:

@IBOutlet weak var mapView: MKMapView!

override func mouseDown(with event: NSEvent){
    if (event.modifierFlags.contains(.control)) {
        let location = mapView.convert(event.locationInWindow, toCoordinateFrom: mapView)
        let annotation = MKPointAnnotation()
        annotation.coordinate = location
        annotation.title = "test"
        annotation.subtitle = "subtest"
        mapView.addAnnotation(annotation)
    } else {
        super.mouseDown(with: event)
    }

Любая помощь будет принята с благодарностью.

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