سؤال

أرغب في استخدام MkMapView لعرض موقع المستخدم الحالي باستخدام دبوس الأزرق الافتراضي للتنفس وأريد تسجيل حركة المستخدم في نفس الوقت. هل هناك أي طريقة يمكنني من خلالها استخدام مدير GPS (لست متأكدًا مما إذا كان هذا هو cllocationManager) يستخدمه MKMapView عندما قمنا بتمكينه لإظهار موقع المستخدم؟

أعلم أنه يمكنني إنشاء CllocationManager الخاص بي. ولكن هذا يبدو وكأنه إضافة النفقات العامة إلى طلبي وأود أن تظل الخريطة وتتبعي متزامنين.

لقد استكشفت بالفعل الأفكار التالية دون نجاح:

  • استخدم ال [MKMapView showUserLocation:YES] وأضف KVO على userLocation ميدان. هذا لا يعمل وأنا أتساءل عما إذا كان هذا يرجع إلى حقيقة أن userLocation يتم قراءة الحقل فقط.
  • استخدم ال [MKMapView showUserLocation:YES], ، إنشاء MKMapViewDelegate وأضف التتبع عند طلب عرض التعليق التوضيحي لموقع المستخدم. هذا لا يعمل ، لأن وجهة نظر التعليقات التوضيحية مطلوبة على ما يبدو مرة واحدة فقط ؟؟؟
  • إستخدم CLLocationManager وحاول إضافة الدبوس الأزرق يدويًا. لسوء الحظ ، لم أجد الدبوس الأزرق في أنواع الدبوس المتوفرة ، لذلك حاولت إنشاء تعليق توضيحي للمستخدم يدويًا دون نجاح.

هل لدى أي شخص أي فكرة عن كيفية تحقيق ذلك وما زلت أستفيد من الدبوس الأزرق أو هو الحل الوحيد لاستخدام أ CLLocationManager وإنشاء رقم التعريف الشخصي الخاص بي؟

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

المحلول

CLLocationManager يستخدم نفس البيانات عبر جميع الحالات. MKMapView الاستخدامات CLLocationManager's البيانات داخليا. ومع ذلك ، فإن الحل لفعل ما تريد القيام به هو السماح MKMapView تفعل الشيء الخاص به فيما يتعلق showUserLocation:. في الوقت نفسه ، قم بإنشاء مثيل CLLocationManager ومندوبها.

ستمنحك رسائل المندوب موقع إحداثيات GPS لـ MKMapView's دبوس أزرق. كل شيء سيكون متزامن مع بعضها البعض.

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