لماذا يكون CllocationManager كسولًا جدًا عند تعيينه بدقة منخفضة؟

StackOverflow https://stackoverflow.com/questions/3863619

سؤال

لقد اكتشفت باختبارات أن تحديد الدقة المنخفضة المرغوبة CLLocationManager يؤدي إلى سلوك عربات التي تجرها الدواب لهذا المكون.

فيما يلي الاختبارات التي أجريتها:

  1. حدد الدقة المطلوبة ل kCLLocationAccuracyHundredMeters. ثم لا يمكن للجهاز العثور على موقفي بدقة كما أريد. ها هي السجلات من بلدي CLLocationManagerمندوب:

    Accuracy is 1500.000000 (desired accuracy is 100.000000)
    Accuracy is 1500.000000 (desired accuracy is 100.000000)
    

    هذا هو. حدثان في 30 ثانية مع دقة أفقية قدرها 1500.

  2. حدد دقة الرغبة في kCLLocationAccuracyBest. ثم يجد الجهاز لي! نفس السجلات:

    Accuracy is 1500.000000 (desired accuracy is -1.000000)
    ...
    Accuracy is 162.957953 (desired accuracy is -1.000000)
    ...
    Accuracy is 76.356886 (desired accuracy is -1.000000)
    ...
    Accuracy is 47.421634 (desired accuracy is -1.000000)
    

    أنا في نفس المكان الذي كنت فيه للاختبار 1 ، لكن هذه المرة ، يمكن للجهاز العثور على موقعي بدقة أردت أولاً (أي 100.0).

لقد كررت هذين الاختبارين عدة مرات ، لنفس النتائج.

سؤالي هو:

"هل يعرف أي شخص لماذا لا يحاول جهاز iPhone صعوبة في العثور على موقفي عندما حددت دقة kCLLocationAccuracyHundredMeters?”

أفترض أن تحديد الدقة ل kCLLocationAccuracyBest قد تقوم بتشغيل بعض مستشعرات الأجهزة المختلفة ولكن لا يمكن اعتبار هذا خطأ؟ لم أتمكن من العثور على أشياء على الإنترنت بالنسبة لهذه المشكلة.

شكرا لتقاسم تجربتك الخاصة. (تم إجراء الاختبارات باستخدام جهاز 3GS عبر شبكة Wi-Fi وشبكة الهاتف)

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

المحلول

ستحاول الإعدادات الحبيبية أكثر تحديد موقعك عبر التثليث الخلوي و Wi-Fi فقط ، وهو أمر غير دقيق. ستقوم KcllocationAccuracyBest بتشغيل وحدة GPS واستخدامها ، والتي يجب أن تصل إلى بضعة أقدام. إنه ليس خطأ ، لقد حصلت على الدقة التي طلبتها في كلتا الحالتين.

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

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