まだ完全にできていないので、その1として
地図上にピンを表示させます。
プログラムは下記をご覧ください。
/* MapTestAppDelegate.m */ CLLocation *location = [[CLLocation alloc] initWithLatitude:35.660262 longitude:139.729548]; CLLocationCoordinate2D mapcenter = location.coordinate; [location release]; AnnotationToMap *annotationtomap = [[[AnnotationToMap alloc] initWithCoordinate:mapcenter] retain]; MapView *mapview = [[MapView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; MKCoordinateSpan CoordinateSpan = MKCoordinateSpanMake(0.005,0.005); MKCoordinateRegion CoordinateRegion = MKCoordinateRegionMake(mapcenter,CoordinateSpan); [mapview setRegion:CoordinateRegion animated:YES]; [mapview addAnnotation:annotationtomap]; // Override point for customization after application launch [window addSubview:mapview]; [window makeKeyAndVisible]; /* MapView.h */ #import <MapKit/MapKit.h> @interface MapView : MKMapView <MKMapViewDelegate> { } - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation; @end /* MapView.m */ - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{ MKPinAnnotationView *pinannotationview = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"pin"]; pinannotationview.pinColor = MKPinAnnotationColorPurple; pinannotationview.animatesDrop = YES; return pinannotationview; } /* AnnotationToMap.h */ #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> @interface AnnotationToMap : NSObject <MKAnnotation>{ CLLocationCoordinate2D coordinate; } -(id)initWithCoordinate:(CLLocationCoordinate2D) coord; @property (nonatomic, readonly) CLLocationCoordinate2D coordinate; @end #import "AnnotationToMap.h" /* AnnotationToMap.m */ @implementation AnnotationToMap @synthesize coordinate; -(id)initWithCoordinate:(CLLocationCoordinate2D) coord{ self = [super init]; coordinate = coord; return self; } @end |
実行結果はこのようになりました。
ピンは表示できたけど、ピンの色が紫色になっていないので、バグが発生しています。
今、調査中ですが、おそらくViewControllerを使わないといけないのかもしれません。
0 コメント:
コメントを投稿