سؤال

لدي تعقب GPS يعمل الآن بشكل رائع ، إلا عندما يكون iPhone فقد اتصال GPS. عندما يتم فقدان الاتصال ، فإن المسار يجعل نقطة أو أكثر إلى موقع عشوائي ، كما ترون في هذه الصورة:

track
(مصدر: alluneed.it)

بأي طريقة يمكنني تجاهل هذه القيم السيئة؟ لقد فكرت في القيام بذلك بهذه الطريقة: قبل حفظ بياناتي ، يمكنني القيام بمجموع من قيم عدد صحيح من خطوط الطول والخطوط الحالية ومقارنة قيم عدد صحيح من خطوط الطول القديمة والعرض ؛ إذا كان الفرق أكبر من بعض القيمة ، فأنا أتجاهل بياناتي.

هل سيكون شيء جيد؟ هل هناك بعض الحيل اللطيفة الأخرى للقيام بذلك؟

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

المحلول

ربما وجدت خطأي:

في

locationManager:didFailWithError:

عندما أتلقى kClerRornetwork أو أي خطأ آخر باستثناء kClerrordenied ، أقوم بإجراء stopupdatinglocation و startupdatinglocation.

الآن التطبيق يعمل بشكل جيد ، أقوم بإجراء بعض الاختبارات الأخرى غدًا ونشر هنا النتيجة.

نصائح أخرى

حاول التحقق من وقت تحديث الموقع بينما لا يحتوي GPS على أي إشارة (يتم توفير الوقت ضمن معلمة الموقع إذا كنت أتذكر بشكل صحيح).

ربما يكون الوقت ثابتًا ، وبهذه الطريقة يمكنك التحقق مما إذا كان الفرق بين الوقت الحالي ووقت الموقع أكثر من ذلك ، لمعرفة ما إذا كان الموقع حقيقيًا أم لا.

يمكنك التعقل النقاط قبل استخدامها. إذا كان مستوى الدقة يقفز فجأة ثم يتراجع مرة أخرى ، فيمكنك التخلص من هذه النقطة. إذا كان الطابع الزمني يقول أن المستخدم يتحرك فجأة بسرعات عابرة للصوت للوصول إلى الموقع الجديد بعد حساب المسافة مع مرور الوقت من أي نقاط سابقة ، فمن المحتمل أن تكون النقطة وهمية. إلخ.

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