Jeg er ny på iPhone programmering. Jeg ønsker å skrive et program som bruker CoreLocation og Mapkit API. Jeg har vært i stand til å finne og legge pinner for gjeldende plassering. Nå prøver jeg å tegne en sirkel rundt plasseringen, men jeg er ikke sikker på hvordan du skal gå om du gjør det. Jeg ville sette pris på noen tips, takk.
[IPhone] trekke sirkel rundt et sted på google kartet
Jeg trodde jeg har fått samme spørsmål med deg. Og jeg har funnet dette spørsmål å svare på, det ble hjulpet meg mye, jeg håper dette vil bli hjelpe deg. Tegne en Point, Line, Polygon på toppen av MKMapview
Jeg vet at dette var opprinnelig merket iOS SDK 3.0 , men jeg antar det var fordi på den tiden, det var dagens SDK. Hvis noen er på jakt etter svaret på dette, men kan bruke iOS 4.0+, så her er min løsning.
Så, jeg antar du har en UIViewController, eier som en MKMapView.
@interface MapViewController : UIViewController<MKMapViewDelegate> {
@private
MKMapView* mapView;
}
@property (nonatomic, retain) IBOutlet MKMapView* mapView;
@end
og du setup dine forbindelser i Interface Builder (XCode nå) for å koble den faktiske MKMapViewtil mapViewuttaket. Og så har du noen variabel som inneholder det stedet du ønsker å tegne en sirkel rundt: location. Du trenger bare å opprette en MKCircle, og legge den til din mapViewsom et overlegg :
CLLocationCoordinate2D location = [self getTheLocationSomehow];
CLLocationDistance radius = 50.0; // in meters
MKCircle* circle = [MKCircle circleWithCenterCoordinate: location radius: radius];
[mapView addOverlay:circle];
Hvis du ønsker å tilpasse utseendet på sirkelen, kan ditt syn kontrolleren implementere MKMapViewDelegateog gjennomføre mapView:viewForOverlay:slik:
- (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;
}
Husk å sette mapView.delegate = selfi visningen kontrolleren kode (f.eks viewDidLoad) eller grafisk via Interface Builder .













