سؤال

لدي تطبيق مع خريطة وأريد تكبير الموقع الحالي ، عندما يتم تحديثه.

أنا أستعمل -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation طريقة تفويض لمعرفة متى تم تحديث موقع المستخدم.

الآن على طريقة المحاكاة يتم استدعاؤها كما ينبغي. ولكن عندما أقوم باختباره على الجهاز (iPhone 2G) ، يتم تحديث الموقع على الخريطة ، ولكن لا يتم استدعاء طريقة "didupdateUserLocation" على الإطلاق ، وهو نفسه بالنسبة لطريقة المندوب "MapViewWillStartLocatingUser".

يسأل النظام إذا سمحت بالحصول على موقعي للتطبيق ويبدأ في إظهار موقعي ، ولكن

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
NSLog(@"didUpdateUserLocation = '%@'", userLocation);   

}

لا يسمى أبدا.

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

المحلول

يذكر المرجع أن طريقة المندوب هذه متاحة منذ iOS 4.0. من المحتمل أن تقوم جهاز محاكاة الخاص بك بتشغيل iOS 4.0 بينما هاتفك - iOS 3.1.

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

نصائح أخرى

جرب هذه map.showsuserLocation = نعم ؛

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