É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.
[IPhone] felhívni a kört egy helyen a google térképén
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
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 .













