سؤال

كيف يمكنني تكبير الخريطة على المستخدم الخاص بي تلقائيا في تطبيقي؟ لدي التعليمات البرمجية التالية إلى ZOMM في الخريطة، لكن يجب عليك تكبير استخدام UERLOCTION ومزودة التعليمات البرمجية التالية دائما إلى إفريقيا؟

MKCoordinateRegion zoomIn = mapView.region;
    zoomIn.span.latitudeDelta *= 0.2;
    zoomIn.span.longitudeDelta *= 0.2;
    zoomIn.center.latitude = mapView.userLocation.location.coordinate.latitude;
    zoomIn.center.longitude = mapView.userLocation.location.coordinate.longitude;
    [mapView setRegion:zoomIn animated:YES];
هل كانت مفيدة؟

المحلول

حسنا، قمت بحل المشكلة، مع طريقة المندوب التالية:

-(void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views{
    for(MKAnnotationView *annotationView in views) {
        if(annotationView.annotation == mv.userLocation){
            MKCoordinateRegion region;
            MKCoordinateSpan span;

            span.latitudeDelta=0.9;
            span.longitudeDelta=0.9;

            CLLocationCoordinate2D location =mv.userLocation.coordinate;

            location = mv.userLocation.location.coordinate;

            region.span = span;
            region.center = location;
            [mv setRegion:region animated:TRUE];
            [mv regionThatFits:region];
        }
    }
}

نصائح أخرى

شكرا جزيلا، ساعدني هذا إلى حد كبير. أراد حقا التصويت ولكن غير قادر بسبب مستوي مندوب.

لقد وجدت أيضا ذلك باستخدام:

mapView.userLocation.location.coordinate.latitude;

تكبرني دائما إلى إفريقيا، ولا تركزني أبدا على موقعي الحالي.

ولكن باستخدام طريقة المندوب:

-(void)mapView:(MKMapView *)myMapView didAddAnnotationViews:(NSArray *)views {

كنت قادرا على حل هذا بنجاح. ما اكتشفته هو أنه عند استخدام mapview.userlocation.location.coordinate.latitude؛ في طريقة تحميل ViewDIDD لم يكن يؤدي إلى إجراء اتصالات المستخدم الصحيحة عند بدء التشغيل للعرض، وبالتالي تم عرض الحسينات الخاطئة.

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