基本的に、アプリの Location-Controller が機能します。しかし、長時間実行すると、それを認識せずに間違った位置を取得します。gps-buffer がオーバーフローしているか、そのようなものだと思います。
これがdidUpdate-Eventの私のコードです
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
//nonvalid
if (signbit(newLocation.horizontalAccuracy))
return;
//0.0 is no valid location here
if ((abs(newLocation.coordinate.latitude) < 1.0e-05) || (abs(newLocation.coordinate.longitude) < 1.0e-05))
return;
if (newLocation.horizontalAccuracy > DBL_MAX)
return;
@synchronized(self)
{
currentCoordinate.latitude = newLocation.coordinate.latitude;
currentCoordinate.longitude = newLocation.coordinate.longitude;
}
}
ロケーションバッファをフラッシュすることは可能ですか? または三角測量からの値で位置を制御しますか?