[iPhone] dibuja el círculo alrededor de una ubicación en el mapa de google

votos
1

Soy nuevo en la programación de iPhone. Quiero escribir una aplicación usando CoreLocation y Mapkit API. Pude encontrar y agregar pines para la ubicación actual. Ahora, estoy tratando de dibujar un círculo alrededor de la ubicación, pero no estoy seguro de cómo hacerlo. Agradecería cualquier sugerencia, gracias.

Publicado el 07/10/2009 a las 10:47
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
1

Pensé que tengo la misma pregunta contigo. Y encontré esta respuesta a las preguntas, me ayudó mucho, espero que esto sea de ayuda para usted. Dibujando un punto, línea, polígono en la parte superior de MKMapview

Respondida el 20/10/2009 a las 21:24
fuente por usuario

votos
0

Sé que esto era originalmente etiquetada iOS SDK 3.0 , pero supongo que era porque en ese momento, que era el SDK actual. Si alguien está buscando la respuesta a esto, pero puede usar iOS 4.0+, entonces aquí está mi solución.

Por lo tanto, se supone que tiene una UIViewController, que posee una MKMapView.

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

y configurar sus conexiones en el Interface Builder (XCode ahora) para conectar el real MKMapViewa la mapViewsalida. Y luego tienes alguna variable que contiene la ubicación que desea para dibujar un círculo en torno a: location. Usted sólo tendrá que crear una MKCircle, y añadirlo a su mapViewcomo una superposición :

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

Si desea personalizar el aspecto de su círculo, el controlador de vista podría implementar MKMapViewDelegatey poner en práctica mapView:viewForOverlay:este 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;
}

Recuerde establecer mapView.delegate = selfen el código controlador de vista (por ejemplo viewDidLoad) o gráficamente a través de Interface Builder .

Respondida el 11/05/2012 a las 11:01
fuente por usuario

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