2016-03-21 4 views
2

これまでのところ、これは私のコードです。私は、locValue.latitudeとlocValue.longitudeの値を文字列か整数のどちらかとして保存しようとしています。私はメソッド( - > Stringなど)で戻り値の型を定義しようとしましたが、didChangeAuthorizationStatusメソッドがプロトコルCLLocationManagerDelegateのオプションのメソッドmethod locationManagerと衝突しているというエラーが表示されます。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

私の意図は、値を変数として保存することです。私はそれらをAPI URLに入れて場所の変更に対応させることができます –

答えて

4

ちょうど2列

var lat = "" 
var long = "" 

を宣言し、あなたの場所からlatlong

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) 
}