Je suis nouveau à la programmation iPhone. Je veux écrire une application utilisant l'API CoreLocation et MapKit. Je suis en mesure de trouver et d'ajouter des broches pour l'emplacement actuel. Maintenant, je suis en train de dessiner un cercle autour de l'emplacement, mais je ne suis pas sûr de savoir comment s'y prendre pour faire cela. Je vous remercie tous les pointeurs, merci.
[IPhone] dessiner le cercle autour d'un emplacement sur la carte Google
Je pensais que j'ai même question avec vous. Et j'ai trouvé cette question réponse, il m'a beaucoup aidé, j'espère que cela sera utile pour vous. Dessin d' un point, la ligne, Polygon au - dessus de MKMapview
Je sais que ce fut à l' origine étiqueté iOS SDK 3.0 , mais je suppose que c'était parce qu'à l'époque, c'était le SDK actuel. Si quelqu'un cherche la réponse à cela, mais peut utiliser iOS 4.0+, alors voici ma solution.
Donc, je suppose que vous avez UIViewController, qui est propriétaire d' une MKMapView.
@interface MapViewController : UIViewController<MKMapViewDelegate> {
@private
MKMapView* mapView;
}
@property (nonatomic, retain) IBOutlet MKMapView* mapView;
@end
et vous configurez vos connexions dans Interface Builder (XCode maintenant) pour connecter le réel MKMapViewà la mapViewsortie. Et puis vous avez une variable qui contient l'emplacement que vous voulez dessiner un cercle autour de : location. Il vous suffit de créer un MKCircle, et l' ajouter à votre mapViewcomme superposition :
CLLocationCoordinate2D location = [self getTheLocationSomehow];
CLLocationDistance radius = 50.0; // in meters
MKCircle* circle = [MKCircle circleWithCenterCoordinate: location radius: radius];
[mapView addOverlay:circle];
Si vous voulez personnaliser l'apparence de votre cercle, votre contrôleur de vue pourrait mettre en œuvre MKMapViewDelegateet mettre en œuvre mapView:viewForOverlay:comme ceci:
- (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;
}
Rappelez - vous de définir mapView.delegate = selfle code de contrôleur de vue (par exemple viewDidLoad) ou graphiquement par l' intermédiaire d' Interface Builder .













