Sunt nou la programare pentru iPhone. Vreau să scrie o aplicație folosind CoreLocation și Mapkit API. Am fost în stare să găsească și să adăugați pini pentru locația curentă. Acum, am încercat să atragă un cerc în jurul locația, dar nu sunt sigur cum să meargă despre a face asta. Aș aprecia orice indicii, mulțumesc.
[IPhone] trage cercul în jurul unei locații de pe hartă google
sursa de către utilizator Sinh Nguyen
În alte limbi...
Am crezut că am luat aceeași întrebare cu tine. Și am găsit aceste întrebări răspunde, a fost ma ajutat foarte mult, sper acest lucru va fi de ajutor pentru tine. Desen un punct, linie, Poligon pe partea de sus a MKMapview
Știu că acest lucru a fost inițial etichetat SDK iOS 3.0 , dar presupun că a fost pentru că la momentul respectiv , care a fost SDK - ul curent. Dacă cineva caută răspunsul la acest lucru, dar se poate folosi iOS 4.0+, atunci aici e soluția mea.
Deci, presupun că ai o UIViewController, care deține o MKMapView.
@interface MapViewController : UIViewController<MKMapViewDelegate> {
@private
MKMapView* mapView;
}
@property (nonatomic, retain) IBOutlet MKMapView* mapView;
@end
și să setați conexiunile în Interface Builder (XCode acum) pentru a conecta real MKMapViewla mapViewpriză. Și atunci aveți unele variabilă care conține locația pe care doriți să atragă un cerc în jurul valorii de : location. Trebuie doar să creați o MKCircleși adăugați - l la dvs. mapViewca o suprapunere :
CLLocationCoordinate2D location = [self getTheLocationSomehow];
CLLocationDistance radius = 50.0; // in meters
MKCircle* circle = [MKCircle circleWithCenterCoordinate: location radius: radius];
[mapView addOverlay:circle];
Dacă doriți să personalizați aspectul cercului, controlerul vedere ar putea pune în aplicare MKMapViewDelegateși să pună în aplicare mapView:viewForOverlay:astfel:
- (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;
}
Nu uitați să setați mapView.delegate = selfîn codul controler de vizualizare ( de exemplu viewDidLoad) sau grafic prin intermediul interfeței grafice .