У меня есть приложение iOS
, где мне нужно вмешиваться в карту. После некоторого поиска я пришел к выводу, что мне нужно использовать объект MKMapView
и, возможно, реализовать протокол MKMapViewDelegate
.Обращение с кранами на карте
Теперь я задаюсь вопросом, как я могу захватить точку касания (означая долготу и рельефность), когда пользователь нажимает на карту. Я полагаю, что есть намного лучший способ, чем заняться домашним хозяйством UITapGestureRecognizer
.
Чтобы сделать это ясно и просто, у меня есть такой код, чтобы начать с:
import UIKit
import CoreLocation
import MapKit
class ViewController: UIViewController, CLLocationManagerDelegate, MKMapViewDelegate {
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate,
screenSize: CGRect = UIScreen.mainScreen().bounds,
locationManager = CLLocationManager()
.........
override func viewDidLoad() {
super.viewDidLoad()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
.........
let mapView = MKMapView(frame: CGRect(origin: CGPoint(x: 0.0, y: 20.0),
size: CGSize(width: screenSize.width,
height: screenSize.height-70.0)))
mapView.delegate = self
self.view.addSubview(mapView)
}
.........
}
Мой вопрос: что я должен сделать, чтобы справиться с кран пользователя на объекте MAPview? Хотя я искал anwer, прежде чем писать этот пост, я пришел без четкого решения.
Существует только один способ, и используется 'TapGestureRecognizer'. –
Вы имеете в виду получить точку с помощью TapGestureRecognizer и затем преобразовать в координаты карты, используя коэффициент начала и коэффициент масштабирования карты? – Michel
Да, я тоже согласен с комментарием Nirav D', когда я пытаюсь справиться с одним и тем же сценарием, я много искал, но, наконец, я пошел с 'UITapGestureRecognizer' –