[IPhone] felhívni a kört egy helyen a google térképén

szavazat
1

Én vagyok az új iPhone programozás. Szeretnék írni egy alkalmazást CoreLocation és Mapkit API. Én már képes megtalálni, és adjunk hozzá csapok az aktuális tartózkodási helyét. Most én próbálom felhívni egy kört a helyét, de nem vagyok biztos abban, hogyan kell járni csinálja. Megköszönném bármely mutató, köszönöm.

A kérdést 07/10/2009 10:47
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
1

Azt hittem már megvan ugyanez a kérdés veled. És én találtam ezt a kérdést megválaszolni, azt sokat segített, remélem ez lesz segíteni Önnek. Rajz egy pont, vonal, poligon tetején MKMapview

Válaszolt 20/10/2009 21:24
a forrás felhasználó

szavazat
0

Tudom, hogy ez eredetileg címkézett iOS SDK 3.0 , de feltételezem, hogy azért, mert abban az időben ez volt az aktuális SDK. Ha valaki keresi a választ erre, de használható az iOS 4.0+, akkor itt a megoldás.

Tehát, azt feltételezzük, hogy van egy UIViewController, hogy van egy MKMapView.

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

és beállítani a kapcsolatok Interface Builder (XCode most), hogy csatlakoztassa a tényleges MKMapViewaz mapViewaljzatba. És akkor van változót, amely a kívánt helyre, hogy dolgozzon egy kört: location. Egyszerűen létre kell hozni egy MKCircle, és add meg a mapViewmint egy overlay :

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

Ha azt szeretnénk, hogy testre a kinézetét a kör, a nézetvezérlőben lehetett végrehajtani MKMapViewDelegate, és végre mapView:viewForOverlay:így:

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

Ne felejtse el mapView.delegate = selfa nézetvezérlőben kód (pl viewDidLoad) vagy grafikusan keresztül Interface Builder .

Válaszolt 11/05/2012 11:01
a forrás felhasználó

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