Ich arbeite an meiner ersten schnellen Anwendung für das iPad. Bis jetzt habe ich eine einfache MapView mit einer Schaltfläche in der unteren Symbolleiste, die ich aktualisieren möchte und auf den Benutzer Standort einmal geklickt konzentrieren.Map Button Refresh Location
Zur Zeit habe ich diesen Code:
import UIKit
import MapKit
import CoreLocation
class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate {
var location: CLLocation!
let locationManager = CLLocationManager()
@IBOutlet weak var mapView: MKMapView!
@IBOutlet weak var refresh: UIBarButtonItem!
@IBAction func refresh(sender: AnyObject) {
let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))
self.mapView.setRegion(region, animated: true)
}
override func viewDidLoad() {
super.viewDidLoad()
self.locationManager.delegate = self
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest
self.locationManager.requestWhenInUseAuthorization()
self.locationManager.startUpdatingLocation()
self.mapView.showsUserLocation = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// location delegate methods
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.last
let center = CLLocationCoordinate2D(latitude: location!.coordinate.latitude, longitude: location!.coordinate.longitude)
let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 1, longitudeDelta: 1))
self.mapView.setRegion(region, animated: true)
self.locationManager.stopUpdatingLocation()
}
func locationManager(manager: CLLocationManager, didFailWithError error: NSError)
{
print("Error code: " + error.localizedDescription)
}
}
Wie kann ich den Refresh-Button, dies zu tun bekommen? Ich brauche wirklich etwas Hilfe, wie ich bin neu in Swift/Xcode :)
Danke
Ich bin mir nicht sicher, ob ich Sie richtig verstanden. Warum legen Sie die Aktion nicht einfach auf den Controller und aktualisieren die Daten in Ihren Diensten/Managern? – razor118
Wie würde ich das tun? Ich bin wirklich neu in xcode :(@ razor118 Ich möchte für die Aktualisierungsschaltfläche auf den neuesten Stand zu aktualisieren, wenn gedrückt – Oscar