[IPhone] trekke sirkel rundt et sted på google kartet

stemmer
1

Jeg er ny på iPhone programmering. Jeg ønsker å skrive et program som bruker CoreLocation og Mapkit API. Jeg har vært i stand til å finne og legge pinner for gjeldende plassering. Nå prøver jeg å tegne en sirkel rundt plasseringen, men jeg er ikke sikker på hvordan du skal gå om du gjør det. Jeg ville sette pris på noen tips, takk.

Publisert på 07/10/2009 klokken 09:47
kilden bruker
På andre språk...                            


2 svar

stemmer
1

Jeg trodde jeg har fått samme spørsmål med deg. Og jeg har funnet dette spørsmål å svare på, det ble hjulpet meg mye, jeg håper dette vil bli hjelpe deg. Tegne en Point, Line, Polygon på toppen av MKMapview

Svarte 20/10/2009 kl. 20:24
kilden bruker

stemmer
0

Jeg vet at dette var opprinnelig merket iOS SDK 3.0 , men jeg antar det var fordi på den tiden, det var dagens SDK. Hvis noen er på jakt etter svaret på dette, men kan bruke iOS 4.0+, så her er min løsning.

Så, jeg antar du har en UIViewController, eier som en MKMapView.

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

og du setup dine forbindelser i Interface Builder (XCode nå) for å koble den faktiske MKMapViewtil mapViewuttaket. Og så har du noen variabel som inneholder det stedet du ønsker å tegne en sirkel rundt: location. Du trenger bare å opprette en MKCircle, og legge den til din mapViewsom et overlegg :

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

Hvis du ønsker å tilpasse utseendet på sirkelen, kan ditt syn kontrolleren implementere MKMapViewDelegateog gjennomføre mapView:viewForOverlay:slik:

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

Husk å sette mapView.delegate = selfi visningen kontrolleren kode (f.eks viewDidLoad) eller grafisk via Interface Builder .

Svarte 11/05/2012 kl. 10:01
kilden bruker

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