2016-07-15 3 views
1

ボタンが押されたときにユーザーの場所を要求してから、API呼び出しをトリガーします。しかし、緯度/経度の値がrequestLocation()呼び出しから取得される前に、このAPI呼び出しを行いたくありません。私は私のオプションの変数latitude == nil || longitude == nilがあるかどうかをチェックするwhileループをポーリングすることができると思ったが、whileループに永遠に座っている。これらの値を待っている必要があります。なぜなら、私がAPI呼び出しにnilsを送るのは、場所を取得するのに数秒かかるためです。 requestLocation()コールから緯度/経度の値を設定するまで、APIリクエストが呼び出されないようにするにはどうすればよいですか?先に進む前にrequestLocationを待つ方法?

+1

代わりのボタンが押されたときに電話をかける、あなたは緯度/経度値 –

+0

が完了ハンドラを追加します。受信したときに電話をかけますか? – Dershowitz123

答えて

0

場所が更新されている代理人でapi呼び出しを行います。 DidUpdateLocation。私は名前を正確に覚えていない。

最初の場所は古い場所になりますので、リクエストの送信先が正確であることを確認してください。

1

CLLocationManagerDelegate

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) 
{ 
    locationManager.stopUpdatingLocation() 
    let location = locations.last! as CLLocation 

    latittude = String(format: "%f", location.coordinate.latitude) 
    longitude = String(format: "%f", location.coordinate.longitude) 

// call your api from here 

} 

のこのデリゲートメソッドから、あなたのAPIを呼び出すには、これはあなたを助けることを願っています。

THANKS

関連する問題