저는 iPhone 프로그래밍을 처음 사용합니다. CoreLocation 및 Mapkit API를 사용하여 응용 프로그램을 작성하려고합니다. 현재 위치에 대한 핀을 찾아 추가 할 수있었습니다. 이제는 그 위치를 중심으로 원을 그려 나가려고합니다.하지만 그 일을 어떻게 수행해야할지 모르겠습니다. 고마워요, 감사합니다.[iPhone] Google지도의 위치 주변에 원을 그립니다.
1
A
답변
1
나는 당신과 같은 질문을 가지고 있다고 생각했습니다. 그리고 나는이 질문에 답을 찾았습니다. 제게 많은 도움을주었습니다. 이것이 당신에게 도움이되기를 바랍니다. 즉 현재 SDK했다, 나는이 원래 있었는지 Drawing a Point, Line, Polygon on top of MKMapview
0
는 아이폰 OS SDK를 3.0 태그,하지만 난 그 때문에 당시 가정합니다. 누군가가 이에 대한 답을 찾고 있지만 iOS 4.0 이상을 사용할 수 있다면 여기에 내 해결책이 있습니다.
그러므로 MKMapView
을 소유 한 UIViewController
이 있다고 가정합니다.
@interface MapViewController : UIViewController<MKMapViewDelegate> {
@private
MKMapView* mapView;
}
@property (nonatomic, retain) IBOutlet MKMapView* mapView;
@end
당신은 설정 인터페이스 빌더 (엑스 코드 현재)에 연결이 mapView
콘센트에 실제 MKMapView
을 연결합니다. 그런 다음 원을 그리려는 위치가 포함 된 변수가 있습니다 (location
). 당신이 당신의 원의 모양을 사용자 정의하려면
CLLocationCoordinate2D location = [self getTheLocationSomehow];
CLLocationDistance radius = 50.0; // in meters
MKCircle* circle = [MKCircle circleWithCenterCoordinate: location radius: radius];
[mapView addOverlay:circle];
, 뷰 컨트롤러가 MKMapViewDelegate
를 구현과 같이 mapView:viewForOverlay:
을 구현할 수 있습니다 : 당신은 단순히 MKCircle
를 생성 및 오버레이로 mapView
에 추가해야합니다 :
- (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
) 나.