[IPhone] σχεδιάσετε τον κύκλο γύρω από μια θέση στο google map

ψήφοι
1

Είμαι νέος στο iPhone προγραμματισμού. Θέλω να γράψω μια εφαρμογή που χρησιμοποιεί CoreLocation και Mapkit API. Έχω τη δυνατότητα να βρείτε και να προσθέσετε καρφίτσες για την τρέχουσα θέση. Τώρα, προσπαθώ να σχεδιάσετε έναν κύκλο γύρω από την περιοχή, αλλά δεν είμαι σίγουρος πώς να πάει για αυτό. Θα εκτιμούσα οποιαδήποτε δείκτες, ευχαριστώ.

Δημοσιεύθηκε 07/10/2009 στις 10:47
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
1

Νόμιζα ότι έχω πήρα ίδια ερώτηση με εσάς. Και έχω βρει αυτό να απαντήσει σε ερωτήσεις, ήταν με βοήθησε πολύ, ελπίζω ότι αυτό θα βοηθήσει να σας. Αντλώντας ένα σημείο, γραμμή, πολύγωνο πάνω από MKMapview

Απαντήθηκε 20/10/2009 στις 21:24
πηγή χρήστη

ψήφοι
0

Ξέρω ότι αυτό ήταν αρχικά ετικέτα iOS SDK 3.0 , αλλά υποθέτω ότι ήταν επειδή εκείνη την εποχή, που ήταν η σημερινή SDK. Αν κάποιος ψάχνει για την απάντηση σε αυτό, αλλά μπορεί να χρησιμοποιήσει iOS 4.0+, τότε εδώ είναι η λύση μου.

Έτσι, υποθέτω ότι έχετε ένα UIViewController, που έχει ένα MKMapView.

  @interface MapViewController : UIViewController<MKMapViewDelegate> {
  @private
    MKMapView* mapView;
  }
  @property (nonatomic, retain) IBOutlet MKMapView* mapView;
  @end

και τη ρύθμιση των συνδέσεων σας στο Interface Builder (XCode τώρα) για να συνδέσετε την πραγματική MKMapViewστην mapViewπρίζα. Και τότε έχετε κάποια μεταβλητή που περιέχει την τοποθεσία που θέλετε να σχεδιάσετε έναν κύκλο γύρω από: location. Πρέπει απλά να δημιουργήσετε ένα MKCircle, και προσθέστε το στο σας mapViewως επικάλυψη :

  CLLocationCoordinate2D location = [self getTheLocationSomehow];
  CLLocationDistance radius = 50.0;   // in meters
  MKCircle* circle = [MKCircle circleWithCenterCoordinate: location radius: radius];
  [mapView addOverlay:circle];

Αν θέλετε να προσαρμόσετε την εμφάνιση του κύκλου σας, ελεγκτής άποψή σας θα μπορούσε να υλοποιήσει MKMapViewDelegateκαι να εφαρμόσει mapView:viewForOverlay:αυτόν τον τρόπο:

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay {
    MKCircle* circle = overlay;
    MKCircleView* circleView = [[[MKCircleView alloc] initWithCircle: circle] autorelease];
    // make the circle red with some transparency and stroke
    circleView.fillColor = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:0.25];
    circleView.strokeColor = [UIColor redColor];
    circleView.lineWidth = 2.0;

    return circleView;
}

Μην ξεχάσετε να ρυθμίσετε mapView.delegate = selfτον κωδικό προβολή ελεγκτή (π.χ. viewDidLoad) ή γραφικά μέσω της διασύνδεσης Builder .

Απαντήθηκε 11/05/2012 στις 11:01
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more