سؤال

انا استخدم CLLocation.speed للحصول على سرعة الحركة تتحرك ولكني أحصل على 0 في كل مرة. حاولت

speed = ([newlocation getDistanceFrom:oldlocation]/[newlocation.timeStamp timeIntervalSinceDate:oldlocation.timeStamp])

المشكلة هي أنها تعطي السرعة الخطأ مرة واحدة في حين.

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

المحلول

هناك القليل من التكوين الذي سيساعدك:

  1. CLLocationManager لن ترسل لك تحديثا ما لم يتحرك المستخدم خارج دائرة في موقعه الحالي. يمكنك التحكم في دائرة نصف قطر الدائرة (اجعلها أصغر) حتى تحصل على المزيد من التحديثات المكررة. يرى عن بعد.

  2. CLLocationManager لديه عنصر تحكم دقة، والتي تريد تعيينها على أفضل مستوى لها. يرى droiremuracy..

أفضل رهان هو ببساطة حساب هذه "السرعة" باستمرار واستخدام مرشح ضعيف تمرير ضعيف لتهدئة النتائج.

انظر أيضا هذا السؤال لمزيد من المعلومات: iPhone Corelocation: كيفية الحصول على السرعة الأكثر دقة.

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