このアプリを作成すると、ユーザーの所在地を取得する必要があります。すべて正常に動作します。つまり、位置情報サービスの使用を受け入れてから実際の場所を取得するまでの時間です5秒のように - これは普通ですか? 、CLLocationManagerの位置が遅いです。Swift
override func viewDidLoad() {
super.viewDidLoad()
// Ask for Location-Authorisation from the User.
self.locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.delegate = self
locationManager.requestLocation()
}
mapView.delegate = self
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let locValue: CLLocationCoordinate2D = manager.location!.coordinate
let initialLocation = CLLocation(latitude: locValue.latitude, longitude: locValue.longitude)
self.centerMapOnLocation(initialLocation)
}
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
print("could not get location")
}
しかし、アプリケーションからの時間がcenterMapOnLocation-関数に置くために場所を取得します。それははるかに速く行く 私が使用した他のアプリ..
は、ここに私のコードは次のようになります。ちょうどかなり長いようです。ユーザーの場所を取得するときに、何が予想されますか?私は無線LAN接続でテストしています。だから、インターネットが遅いか、それとも悪い接続なのかがわかりません...
誰でもアイデアはありますか? :)
よろしくお願いします! requestLocation()のドキュメントから
精度を設定して、locationManager.startUpdatingLocation()を使用してみてください。私はそれをして、1秒以内に答えを得る(デバイス上で)。 –
恐ろしい! locationManager.startUpdatingLocation()がトリックを行いました!私はそれを.requestLocation()と交換し、今は魅力のように働いています!ありがとう@JensPeter - あなたに正しい答えを与えたいと思っていますが、私はそれをコメントとして書くことはできません:/答えを書くと私はそれを受け入れます:) –