Είμαι νέος στο iPhone προγραμματισμού. Θέλω να γράψω μια εφαρμογή που χρησιμοποιεί CoreLocation και Mapkit API. Έχω τη δυνατότητα να βρείτε και να προσθέσετε καρφίτσες για την τρέχουσα θέση. Τώρα, προσπαθώ να σχεδιάσετε έναν κύκλο γύρω από την περιοχή, αλλά δεν είμαι σίγουρος πώς να πάει για αυτό. Θα εκτιμούσα οποιαδήποτε δείκτες, ευχαριστώ.
[IPhone] σχεδιάσετε τον κύκλο γύρω από μια θέση στο google map
Νόμιζα ότι έχω πήρα ίδια ερώτηση με εσάς. Και έχω βρει αυτό να απαντήσει σε ερωτήσεις, ήταν με βοήθησε πολύ, ελπίζω ότι αυτό θα βοηθήσει να σας. Αντλώντας ένα σημείο, γραμμή, πολύγωνο πάνω από MKMapview
Ξέρω ότι αυτό ήταν αρχικά ετικέτα 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 .













