前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iPhone SDK 3.0 MAPKit使用入门(1) 创建一个MKMapView实例

iPhone SDK 3.0 MAPKit使用入门(1) 创建一个MKMapView实例

作者头像
EltonZheng
发布2021-01-22 07:31:21
4700
发布2021-01-22 07:31:21
举报
文章被收录于专栏:Elton的技术分享博客

iPhone OS 3.0发布了,MAPKit是其中新增的API,但是Apple并没有公布相应的guide,只有一个相关函数的API。 再网上参考了其他人的例子,试着照猫画虎的做了几个例子。

MAPKit主要的类是MKMapView,它提供了一个嵌入式的地图接口,就像在自带的Maps程序里提供的那样。你可以使用这个类在你的程序中显示地图和操作地图

当你初始化一个map view(MKMapView的实例)的时候,你需要指定一个region(MKCoordinateRegion类型)给这个地图。你可以通过指定map view实例的region属性来设置它的值。region定义了一个中央点和水平和垂直的距离,这个区域显示的大小和比例是根据一个span来调节的。

span(MKCoordinateSpan)定义了指定中央点(point)的map能显示多少内容以及比例尺。 一个大的span的值,将可以展现更多的内容和更小的放大级别,反之则展现更细节的内容和更大的放大级别。

你可以通过设置map view的scrollEnabled 和 zoomEnabled属性来设置是否允许滚动地图和放大缩小地图。

我们先来看一个例子: 创建一个utility application应用程序,在MainViewController.h中引入MapKit/MapKit.h头文件,定义一个MKMapView实体变量

代码语言:javascript
复制
#import "FlipsideViewController.h"
#import <mapKit/MapKit.h>

@interface MainViewController : UIViewController  {
	MKMapView *mapView;
}

- (IBAction)showInfo;

@end
</pre>

在MainViewController.m中,
#import "MainViewController.h"
#import "MainView.h"


@implementation MainViewController


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization
    }
    return self;
}



 // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
 - (void)viewDidLoad {
 [super viewDidLoad];
	 mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];
	 mapView.showsUserLocation=TRUE;
	 [self.view insertSubview:mapView atIndex:0];
 }

...

就是初始化了一个MKMapView实例,并将它显示在主视图上。
之后就可以执行了, 你可以看到一个标有你当前位置点的小程序。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档