开发手册 欢迎您!
软件开发者资料库

iOS - 访问地图

iOS访问地图 - 在iOS上学习iPhone和iPad应用程序开发,从简单和简单的步骤开始,从基本到高级概念,包括入门,环境设置,Objective-C,首个iPhone应用程序,操作和插座,代表,UI元素,加速度计,通用应用程序,相机管理,位置处理,SQLite数据库,发送电子邮件,音频和视频,文件处理,访问地图,应用程序内购买,iAd集成,GameKit,故事板,自动布局,Twitter和Facebook,内存管理,应用程序调试。

地图总是有助于我们找到地点.使用MapKit框架在iOS中集成地图.

涉及的步骤

步骤1 : 创建一个简单的基于视图的应用程序.

第2步 : 选择你的项目文件,然后选择目标,然后添加MapKit.framework.

第3步 : 我们还应该添加Corelocation.framework.

第4步 : 将MapView添加到ViewController.xib并创建一个ibOutlet并将其命名为mapView.

步骤5 : 选择File&rarr创建一个新文件;新的 → 档案... → 选择Objective C class并单击next.

步骤6 : 将类命名为MapAnnotation,将"sub class of"命名为NSObject.

步骤7 : 选择创建.

步骤8 : 更新MapAnnotation.h如下 :

#import #import @interface MapAnnotation : NSObject@property (nonatomic, strong) NSString *title;@property (nonatomic, readwrite) CLLocationCoordinate2D coordinate;- (id)initWithTitle:(NSString *)title andCoordinate:   (CLLocationCoordinate2D)coordinate2d;@end

第9步 : 更新 MapAnnotation.m 如下 :

#import "MapAnnotation.h"@implementation MapAnnotation-(id)initWithTitle:(NSString *)title andCoordinate:   (CLLocationCoordinate2D)coordinate2d {     self.title = title;   self.coordinate =coordinate2d;   return self;}@end

第10步 : 更新 ViewController.h 如下 :

#import #import #import @interface ViewController : UIViewController {   MKMapView *mapView;}@end

步骤11 : 更新 ViewController.m 如下 :

#import "ViewController.h"#import "MapAnnotation.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {   [super viewDidLoad];   mapView = [[MKMapView alloc]initWithFrame:   CGRectMake(10, 100, 300, 300)];   mapView.delegate = self;   mapView.centerCoordinate = CLLocationCoordinate2DMake(37.32, -122.03);   mapView.mapType = MKMapTypeHybrid;   CLLocationCoordinate2D location;   location.latitude = (double) 37.332768;   location.longitude = (double) -122.030039;      // Add the annotation to our map view   MapAnnotation *newAnnotation = [[MapAnnotation alloc]   initWithTitle:@"Apple Head quaters" andCoordinate:location];   [mapView addAnnotation:newAnnotation];   CLLocationCoordinate2D location2;   location2.latitude = (double) 37.35239;   location2.longitude = (double) -122.025919;   MapAnnotation *newAnnotation2 = [[MapAnnotation alloc]    initWithTitle:@"Test annotation" andCoordinate:location2];   [mapView addAnnotation:newAnnotation2];   [self.view addSubview:mapView];}// When a map annotation point is added, zoom to it (1500 range)- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views {   MKAnnotationView *annotationView = [views objectAtIndex:0];   id  mp = [annotationView annotation];   MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance   ([mp coordinate], 1500, 1500);   [mv setRegion:region animated:YES];   [mv selectAnnotation:mp animated:YES];}- (void)didReceiveMemoryWarning {   [super didReceiveMemoryWarning];   // Dispose of any resources that can be recreated.}@end

输出

当我们运行应用程序时,我们会得到如下所示的输出 :

iOS Tutorial

当我们向上滚动地图,我们将得到如下所示的输出 :

iOS Tutorial