Mkmapview و CllocationManager
-
22-09-2019 - |
سؤال
أرغب في استخدام 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
دبوس أزرق. كل شيء سيكون متزامن مع بعضها البعض.