私は、マーク結果ボタンが押されたときに地図ピンがユーザの現在の場所にポップアップするアプリケーションを作ろうとしていました。ボタンが押されたときの現在の位置の地図ピン
問題は、IBActionでDidUpdateLocationsを呼び出すたびに、マップ注釈が決して表示されないことです。それはIBActionの外にある場合は、この機能は完璧に動作します。 IBActionの外側と内側の両方の関数を呼び出すと、マップ・ピンの連続ストリームが表示されます。ここで
は私のコードです:ここでは
import UIKit
import MapKit
import CoreLocation
class SecondViewController: UIViewController, CLLocationManagerDelegate,MKMapViewDelegate {
@IBOutlet var mapView: MKMapView!
let manager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyBest
manager.requestWhenInUseAuthorization()
manager.startUpdatingLocation()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func markStuff(_ sender: Any) {
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations[0]
let span:MKCoordinateSpan = MKCoordinateSpanMake(0.001, 0.001)
let myLocation:CLLocationCoordinate2D = CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude)
let region:MKCoordinateRegion = MKCoordinateRegionMake(myLocation, span)
let annotation = MKPointAnnotation()
annotation.coordinate = location.coordinate
mapView.setRegion(region, animated: true)
self.mapView.addAnnotation(annotationz)
}
}
}
は私main.storyboardです:
あなたはなぜあなたはこのアクションメソッド、おかげでそんなにevrytime –