[IPhone] disegnare il cerchio intorno a una posizione sulla mappa di google

voti
1

Sono nuovo di programmazione iPhone. Voglio scrivere un'applicazione utilizzando CoreLocation e MapKit API. Sono stato in grado di trovare e aggiungere i pin per la posizione corrente. Ora, sto cercando di disegnare un cerchio attorno alla posizione, ma non sono sicuro di come fare per farlo. Apprezzerei tutti i puntatori, grazie.

È pubblicato 07/10/2009 alle 10:47
fonte dall'utente
In altre lingue...                            


2 risposte

voti
1

Ho pensato che ce l'ho con te stessa domanda. E ho trovato questa domanda risposta, mi ha aiutato molto, spero che questo sarà aiuto a voi. Disegno di una Punto, Linea, Poligono in cima MKMapview

Risposto il 20/10/2009 a 21:24
fonte dall'utente

voti
0

So che questo era originariamente etichettato iOS SDK 3.0 , ma suppongo che era perché, al momento, che era l'SDK corrente. Se qualcuno è alla ricerca di una risposta a questo, ma può utilizzare iOS 4.0+, allora ecco la mia soluzione.

Quindi, suppongo che voi avete una UIViewController, che possiede una MKMapView.

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

e si imposta le connessioni in Interface Builder (XCode ora) per collegare il reale MKMapViewalla mapViewpresa di corrente. E poi ci sono alcune variabili che contiene la posizione che si desidera disegnare un cerchio intorno: location. Hai semplicemente bisogno di creare una MKCircle, e aggiungerlo alla tua mapViewcome un overlay :

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

Se si desidera personalizzare l'aspetto del vostro cerchio, il controller di vista potrebbe implementare MKMapViewDelegatee realizzare mapView:viewForOverlay:in questo modo:

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

Ricordate di impostare mapView.delegate = selfil codice View Controller (ad esempio viewDidLoad) oppure graficamente tramite Interface Builder .

Risposto il 11/05/2012 a 11:01
fonte dall'utente

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