2016-01-08 4 views
0

Привет, я только что начал изучать быстрый ios-9. Я использую следующий код, чтобы получить текущее местоположение пользователя, но это становится расположениеНеправильное расположение пользователя

<+37.78583400,-122.40641700> +/- 5.00m (speed -1.00 mps/course -1.00) @ 1/8/16, 3:38:10 PM Greenwich Mean Time 

В выходе и не показывать мое текущее местоположение на карте.

Swift Code:

class ViewController: UIViewController, CLLocationManagerDelegate, MKMapViewDelegate { 

    @IBOutlet weak var map: MKMapView! 
    var manager:CLLocationManager! 

    override func viewDidLoad() 
    { 
     super.viewDidLoad() 
     manager = CLLocationManager() 
     manager.delegate = self 
     manager.desiredAccuracy = kCLLocationAccuracyBest 
     manager.requestWhenInUseAuthorization() 
     manager.startUpdatingLocation() 
    } 

    func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 
     print(locations[0]) 

     //userLocation - there is no need for casting, because we are now using CLLocation object 

     let userLocation:CLLocation = locations[0] 
     let latitude:CLLocationDegrees = userLocation.coordinate.latitude 
     let longitude:CLLocationDegrees = userLocation.coordinate.longitude 
     let latDelta:CLLocationDegrees = 0.01 
     let lonDelta:CLLocationDegrees = 0.01 
     let span:MKCoordinateSpan = MKCoordinateSpanMake(latDelta, lonDelta) 
     let location:CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitude) 
     let region:MKCoordinateRegion = MKCoordinateRegionMake(location, span) 
     map.setRegion(region, animated: true) 
    } 
} 

Я также связан CoreLocation.framawork к моему проекту. Поскольку я только начал изучать это, у меня нет лицензии разработчика от Apple.

+0

r u тестирование этого устройства или на тренажере? –

+0

У вас установлен режим определения местоположения отображения? –

+0

Я тестирую на симуляторе, как включить настройку местоположения пользователя? –

ответ

1

Вы не можете имитировать текущее местоположение в симуляторе. Вы можете передавать только координаты, а симулятор будет имитировать эти координаты на карте.

Для имитации пользовательского местоположения, выбора симулятора и выбора опции отладки в меню и выбора местоположения и выбора пользовательского местоположения.

enter image description here

и введите пользовательское место для его имитации:

enter image description here

Чтобы включить shouserLocation stting, перейдите к раскадровке и выберите вид карты, и в атрибутах инспектор выберите shwo.

enter image description here

Примечание: Ваше текущее местоположение может быть только показать на реальном устройстве.

+0

Спасибо Mr.T Это работает сейчас –