سؤال

لقد استخدمت ClLoction Manager للحصول على موقع. ولكن عندما أبدأ موقعي، فإنه يعطيني OldLocation الذي يتم تخزينه في الجهاز سابقا. أريد إعادة تعيين الموقع الخاص بهذا، استخدم العلم على الإطلاق الأول من التطبيق الذي استخدمته NewLocation واستدعاء StopupdateingLocation طريقة بدء التشغيل.

هل كانت مفيدة؟

المحلول

كل CLLocation لديه أ timestamp خاصية يمكنك استخدامها لتصفية جميع تحديثات الموقع التي قديمة جدا للاستخدام الخاص بك.

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    NSTimeInterval age = [newLocation.timestamp timeIntervalSinceNow];
    if(age < SOME_CONSTANT_IN_SECONDS)
    {
        //Use location
    }
}

نصائح أخرى

لا يمكنك مسح الموقع القديم، ولكن يمكنك التحقق من الأفقية الدقة لمعرفة ما إذا كان هذا موقعا جيدا (الحالي) أو أي شيء قديم وغير ذي صلة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top