2016-03-21 4 views
2

До сих пор это код, который у меня есть. Я пытаюсь сохранить значения locValue.latitude и locValue.longitude как строку или целое число. Я попытался определить тип возвращаемого значения в методе (-> String и т. Д.), Но я получаю сообщение об ошибке, в котором метод didChangeAuthorizationStatus конфликтует с необязательным требованием метода locationManager в протоколе CLLocationManagerDelegate.Swift: как хранить координаты с помощью CLLocationCoordinate2D в виде строки или int?

func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) { 
    if status == .AuthorizedAlways { 
     let locValue:CLLocationCoordinate2D = manager.location!.coordinate 
     self.dispLocation.text = "locations = \(locValue.latitude) \(locValue.longitude)" 
    } 
} 
+0

хранить их где? Почему бы просто не сохранить их в качестве исходного формата? – nielsbot

+0

Мое намерение состоит в том, чтобы хранить значения как переменные, поэтому я могу поместить их в URL-адрес API для размещения меняющегося местоположения. –

ответ

4

Просто объявить две строки

var lat = "" 
var long = "" 

И от вашего местоположения синтаксического lat и long

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 
    let location:CLLocationCoordinate2D = manager.location!.coordinate 
    lat = String(location.latitude) 
    long = String(location.longitude) 
} 
+1

Спасибо, решил! –

+0

Извините, это мой первый пост на StackOverflow. Спасибо за совет. –

2

вы также можете попробовать это -

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) 
{ 
    var locValue:CLLocationCoordinate2D = CLLocationCoordinate2DMake(0, 0); 

    if manager.location?.coordinate != nil { 
     locValue = (manager.location?.coordinate)! 
    } 

    let locations = "locations = \(locValue.latitude) \(locValue.longitude)" 
    print(locations) 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^