Jsem nový iPhone programování. Chci psát aplikace pomocí CoreLocation a Mapkit API. Byl jsem schopen najít a přidat kolíky pro aktuální umístění. Teď se snažím nakreslit kruh kolem místa, ale nejsem si jistý, jak jít o tom, že. Ocenil bych nějaké odkazy, díky.
[IPhone] nakreslit kružnici kolem umístění na google mapě
Myslel jsem, že mám stejnou otázku s vámi. A našel jsem tento otázky odpovědět, že mi pomohl hodně, doufám, že to bude pomáhat vám. Kreslení Point, Line, Polygon na vrcholu MKMapview
Vím, že to byl původně označen iOS SDK 3.0 , ale předpokládám, že to bylo proto, že v té době, to byl současný SDK. Pokud někdo hledá odpověď na to, ale můžete použít iOS 4.0 a vyšší, pak tady je moje řešení.
Takže předpokládám, že máte UIViewController, která vlastní MKMapView.
@interface MapViewController : UIViewController<MKMapViewDelegate> {
@private
MKMapView* mapView;
}
@property (nonatomic, retain) IBOutlet MKMapView* mapView;
@end
a můžete nastavit své spojení v Interface Builder (XCode nyní) pro připojení skutečná MKMapViewdo mapViewzásuvky. A pak máte nějakou proměnnou, která obsahuje místo, které chcete nakreslit kruh kolem: location. Stačí jednoduše vytvořit MKCirclea přidat ji do svého mapViewjako překrytí :
CLLocationCoordinate2D location = [self getTheLocationSomehow];
CLLocationDistance radius = 50.0; // in meters
MKCircle* circle = [MKCircle circleWithCenterCoordinate: location radius: radius];
[mapView addOverlay:circle];
Chcete-li upravit vzhled svého kruhu, váš názor regulátor mohl realizovat MKMapViewDelegatea implementovat mapView:viewForOverlay:jako tak:
- (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;
}
Nezapomeňte nastavit mapView.delegate = selfv kódu pohledu regulátoru (např viewDidLoad) nebo graficky pomocí Interface Builder .













