Я хочу создать базовое приложение для 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)
}
Любая помощь будет принята с благодарностью.