2016-08-17 4 views
0

앱이 내 위치를 확대하고 내 위치를 표시하는 원을 표시하는 앱을 만들려고했습니다. 지도를 표시하고 있지만 파란색 점이 정확한 위치를 표시하지 않습니다 ...내 앱을 MapKit을 사용하여 내 위치로 확대하는 방법

여기 내 코드입니다.

import UIKit 
import MapKit 
import CoreLocation 

class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate { 

    @IBOutlet weak var mapView: MKMapView! 

    let locationManager = CLLocationManager() 



    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.locationManager.delegate = self 
     self.locationManager.desiredAccuracy = kCLLocationAccuracyBest 
     self.locationManager.requestWhenInUseAuthorization() 
     self.locationManager.stopUpdatingLocation() 
     self.mapView.showsUserLocation = true 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    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("Errors" + error.localizedDescription) 
    } 

감사합니다.

답변

0

인터페이스 빌더에서 mapView을 선택하고 속성 검사기에서 "사용자 위치 표시"상자를 선택하십시오. 그러면 사용자는 모두 설정해야합니다.

0

위치 관리자가 작동하려면 위치 정보 관리자에게 'NSLocationAlwaysUsageDescription'또는 'NSLocationWhenInUseUsageDescription'태그가 info.plist에 있어야합니다. 앱에서 사용 권한을 요청할 때 말한 것입니다.