[IPhone] nakreslit kružnici kolem umístění na google mapě

hlasů
1

Jsem nový iPhone programování. Chci psát aplikace pomocí CoreLocation a Mapkit API. Byl jsem schopen najít a přidat kolíky pro aktuální umístění. Teď se snažím nakreslit kruh kolem místa, ale nejsem si jistý, jak jít o tom, že. Ocenil bych nějaké odkazy, díky.

Položena 07/10/2009 v 10:47
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Myslel jsem, že mám stejnou otázku s vámi. A našel jsem tento otázky odpovědět, že mi pomohl hodně, doufám, že to bude pomáhat vám. Kreslení Point, Line, Polygon na vrcholu MKMapview

Odpovězeno 20/10/2009 v 21:24
zdroj uživatelem

hlasů
0

Vím, že to byl původně označen iOS SDK 3.0 , ale předpokládám, že to bylo proto, že v té době, to byl současný SDK. Pokud někdo hledá odpověď na to, ale můžete použít iOS 4.0 a vyšší, pak tady je moje řešení.

Takže předpokládám, že máte UIViewController, která vlastní MKMapView.

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

a můžete nastavit své spojení v Interface Builder (XCode nyní) pro připojení skutečná MKMapViewdo mapViewzásuvky. A pak máte nějakou proměnnou, která obsahuje místo, které chcete nakreslit kruh kolem: location. Stačí jednoduše vytvořit MKCirclea přidat ji do svého mapViewjako překrytí :

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

Chcete-li upravit vzhled svého kruhu, váš názor regulátor mohl realizovat MKMapViewDelegatea implementovat mapView:viewForOverlay:jako tak:

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

Nezapomeňte nastavit mapView.delegate = selfv kódu pohledu regulátoru (např viewDidLoad) nebo graficky pomocí Interface Builder .

Odpovězeno 11/05/2012 v 11:01
zdroj uživatelem

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