[IPhone] ziehen den Kreis um eine Stelle auf google map

stimmen
1

Ich bin auf dem iPhone-Programmierung neu. Ich möchte eine Anwendung mit Corelocation und MapKit API schreiben. Ich konnte Pins für den aktuellen Standort finden und hinzuzufügen. Jetzt versuche ich, einen Kreis um die Lage zu ziehen, aber ich bin nicht sicher, wie zu tun, dass zu gehen. Ich würde schätzen alle Hinweise, danke.

Veröffentlicht am 07/10/2009 um 10:47
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Ich dachte , dass ich mit Ihnen diese Frage bekommen haben. Und ich habe diese Fragen zu beantworten gefunden, es hilft mir wurde viel, ich hoffe , dass diese Ihnen helfen werden. Zeichnen eines Punkt, Linie, Polygon oben auf MKMapView

Beantwortet am 20/10/2009 um 21:24
quelle vom benutzer

stimmen
0

Ich weiß , das war ursprünglich getaggt iOS SDK 3.0 , aber ich nehme an, das war , weil zu der Zeit, dass die aktuelle SDK war. Wenn jemand für die Antwort auf diese Frage sucht, kann aber iOS 4.0+ verwendet, dann ist hier meine Lösung.

Also, ich nehme an, Sie haben ein UIViewController, dass eine besitzt MKMapView.

  @interface MapViewController : UIViewController<MKMapViewDelegate> {
  @private
    MKMapView* mapView;
  }
  @property (nonatomic, retain) IBOutlet MKMapView* mapView;
  @end

und Sie Setup Ihre Verbindungen in Interface Builder (XCode jetzt) die tatsächliche verbinden MKMapViewmit dem mapViewAusgang. Und dann haben Sie einige Variable, die den Ort enthält Sie einen Kreis zeichnen wollen um: location. Sie müssen lediglich eine erstellen MKCircle, und fügen Sie sie mapViewals Overlay :

  CLLocationCoordinate2D location = [self getTheLocationSomehow];
  CLLocationDistance radius = 50.0;   // in meters
  MKCircle* circle = [MKCircle circleWithCenterCoordinate: location radius: radius];
  [mapView addOverlay:circle];

Wenn Sie das Aussehen Ihres Kreises anpassen möchten, können Sie Ihre View - Controller implementieren MKMapViewDelegateund implementieren , mapView:viewForOverlay:wie so:

- (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;
}

Denken Sie daran setzen mapView.delegate = selfim View - Controller - Code (zB viewDidLoad) oder grafisch über Interface Builder .

Beantwortet am 11/05/2012 um 11:01
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more