Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将所选注释打印到控制台?_Ios_Swift_Mkmapview - Fatal编程技术网

Ios 如何将所选注释打印到控制台?

Ios 如何将所选注释打印到控制台?,ios,swift,mkmapview,Ios,Swift,Mkmapview,我是swift新手,这里有一个通过长时间手势触摸添加注释的解决方案,我们如何将所选注释打印到控制台 Swift 4 import UIKit import MapKit class MapViewController: UIViewController , MKMapViewDelegate { @IBOutlet weak var mapView : MKMapView! override func viewDidLoad() { super.viewDidLoad()

我是swift新手,这里有一个通过长时间手势触摸添加注释的解决方案,我们如何将所选注释打印到控制台

Swift 4

import UIKit
import MapKit

class MapViewController: UIViewController , MKMapViewDelegate {

    @IBOutlet weak var mapView : MKMapView!

override func viewDidLoad() {
    super.viewDidLoad()


    let longPressRecogniser = UILongPressGestureRecognizer(target: self, action: #selector(MapViewController.handleTap(_:)))
    longPressRecogniser.minimumPressDuration = 1.0
    mapView.addGestureRecognizer(longPressRecogniser)

    mapView.mapType = MKMapType.standard

    let location = CLLocationCoordinate2D(latitude: 23.0225,longitude: 72.5714)

    let span = MKCoordinateSpan(latitudeDelta: 0.05, longitudeDelta: 0.05)
    let region = MKCoordinateRegion(center: location, span: span)
    mapView.setRegion(region, animated: true)

    let annotation = MKPointAnnotation()
    annotation.coordinate = location
    annotation.title = "iOSDevCenter-Kirit Modi"
    annotation.subtitle = "Ahmedabad"
    mapView.addAnnotation(annotation)
}
下面是添加注释的函数:

    @objc func handleTap(_ gestureReconizer: UILongPressGestureRecognizer)
{

    let location = gestureReconizer.location(in: mapView)
    let coordinate = mapView.convert(location,toCoordinateFrom: mapView)

    // Add annotation:
    let annotation = MKPointAnnotation()
    annotation.coordinate = coordinate
    mapView.addAnnotation(annotation)
}

您可以使用
mapView:didSelect
方法

e、 g


不要忘记在
viewdiload
中设置
mapView.delegate=self
对于注释点击,您有一个委托MKMapViewDelegate。检查:这是目标C的解决方案检查:
func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    print("selected annotation", view.annotation)
    print("selected annotation", view.annotation?.title)
    print("selected annotation", view.annotation?.coordinate)
}